티스토리 툴바


분류없음2012/03/02 17:47

http://www.ted.com/talks/lang/ko/jeff_hawkins_on_how_brain_science_will_change_computing.html

On Intelligence 의 저자 제프 호킨스의 TED 영상
Posted by 김영현
책들2012/02/27 18:42
36/233

지능(intelligence)를 가진 기계를 만드는 것이 가능한가?

알란 튜링이 제시한 튜링 테스트는 사람이 블라인드(or 벽) 뒤의 어떤 녀석과 대화를 하는데 사람이 블라인드 뒤의 존재가 사람인지 기계인지 알아차리지 못하는 정도가 되면 지능이 있는 것으로 판단하는 테스트다. 다만 이 는 사람의 행위를 동일하게 만들 수 있는 지 아닌지의 여부만을 판단하기 때문에 현재 인공지능 연구자들에게는 그닥(?) 정도로 받아들여진다.

그리고, 존 설이라는 사람이 고안한 Chinese Room 이라는 실험이 튜링 테스트의 맹점을 고스란이 보여준다. 

 


그림과 같이 입력으로 중국어를 그리고 출력으로 중국어를 내보내야하는 방이있다. 이 방안에는 한 사람이 있는데 이 사람은 전혀 중국어를 모르는 사람이다. 다만 이 사람은 룰북이 있다. 룰북을 사용해 입력으로 들어오는 중국어 문자열에 대응하는 답을 찾아 출력에 중국어 답을 내보낸다. 방 외부의 사람들은 중국어를 이해하는 사람들이고, 이들은 중국어로된 입력을 전달하면, 중국어로된 출력을 전달 받게된다. 그리고, 방 안의 사람은 중국어를 몰라도 룰북을 사용해 외부의 중국어를 이해하는 사람이 이치에 맞다고 생각하는 답을 내보낼 수 있다. 이 때 방안의 사람은 중국어를 이해하고 답을 한 것일까? 그렇지 않다. 단지 정해진 규칙에 따라 답을 찾고 이를 출력으로 내보낸 것이다. 

난 전적으로 위의 예에 동감한다 사람과 동일한 행위를 하는 것만을 가지고 지능이 있다라고 말 할 수는 없다. 다만 예전의 AI를 보면 사람과 어떻게 하면 동일한 행위를 하게 만들 수 있을까에 초점을 맞춘 것 같다는 느낌을 지울 수 없다. 지능의 핵심이 되는 뇌가 어떻게 동작하는 지에 초점을 두지 않았는지 의문이다. 이유가 있었겠지? 하긴 뇌를 이해한다는 것이 가능하기는 한가? ;;

"On Intelligence" 는 저자의 이같은 의문과 이에 대한 저자의 답을 제시한다. 책이 출판된 당시에는 정확한 알고리즘과 같은 것이 나오지는 않았지만 지금 2012년도에는  http://www.numenta.com 라는 곳에서 저자의 결과물을 확인 할 수 있다. "HIERARCHICAL TEMPORAL MEMORY including HTM Cortical Learning Algorithms" 라는 글을 통해 대략 어떤 것인지 짐작은 할 수 있으며, 실제 데모를 확인 할 수 있다. 읽었는데 아직까지 아리송;;;

그리고, 이와 유사하면서 다른 결과물도 다음의 링크로 확인 할 수 있다.

http://syntience.com/
  (
꽤 유명)


IBM:  SyNAPSE 
아예 칩을 일반 CPU가 아닌 지능 전용 칩으로

http://www.ibm.com/smarterplanet/us/en/business_analytics/article/cognitive_computing.html

http://www.youtube.com/watch?v=agYJSdMWXYQ (인지 컴퓨터 소개 자료)

참고

http://videos.syntience.com/

 

IBM이 사람 이기는 장면

http://www.youtube.com/watch?v=12rNbGf2Wwo

Posted by 김영현
책들2012/02/12 14:41
95/327

비디오 압축과 관련해 아무것도 몰라서 읽기 시작했다. 읽고있는 중에도 잘 이해가 가지 않아 구글링을 하던 중 찾았다.

[H.264] 동영상 압축의 기본 개념
[H.264] 동영상 압축의 기본 개념 - RGB, YCbCr, 서브샘플링
[H.264] Block-based Motion Estimation (ME)
[H.264] Discrete Cosine Transform (DCT) 이산 코사인 변환
[H.264] Quantization (양자화) 와 Zig-zag scanning

실제로 동영상 코덱을 작성할 일은 전혀 없다. 회사에서는 HW 디코더나 SW 디코더 (FFMpeg) 를 사용하면 그만이기 때문이다. 그래도 기본적인 부분은 알아두는게 예의라 아주아주 살짝 훑어보았다.
Posted by 김영현
분류없음2012/02/12 14:33

Posted by 김영현
분류없음2012/02/02 15:04
킨들 파이어를 샀는데 그닥 책읽는 재미가 없다. 진짜 책이 좋은 것 같다. 책 냄새며, 책장 넘기는 맛, 그리고 책이 여기저기 있는 모습이 좋다. 그래서, 그냥 책은 직접 사서 읽어야 겠다. ㅠㅜ

8권이나 질렀네.. 
Posted by 김영현
TAG 잡담
책들2012/02/02 15:00
NoSQL 이 뭔지 궁금해서 구매해서 읽었다. DB를 깊게 사용하는 업무가 아니라서 정말 얇게 훑어 보았다. 

RDBMS에서는 데이터를 2차원 테이블에 저장하는데, mongodb는 데이터를 문서(document)로 추상화하여 저장을한다.

정렬된 키와 연결된 값의 집합으로 이루어진 문서라는 개념을 이용한다. 맵, 해시 또는 딕셔너리와 같이 대부분의 언어에서 제공하는 자료구조와 유사한 방식으로 자료를 저장한다.

{"james" : "is an idiot"}

"james" 가 키가 되고, "is an idiot"은 키에 대한 값이 된다. 

{"james" : "is an idiot", "age" : 50}   

대부분 문서들은 위와 같이 다중 키/값 쌍을 가지는 형태가 될 것이다.


아... 가장 큰 특징은 스키마가 없다는 것이다.

횡설수설 ㅎ 
Posted by 김영현
분류없음2012/01/08 20:18
More C++ Idioms <= 다양한 C++ 언어와 관련된 이디엄[각주:1]을 정리한 사이트
 
  1. 각 언어의 고유한 부분을 사용한 구현이라고 생각하면 된다. 디자인 패턴이 언어와 관계없이 사용할 수 있는 것이라면 이디엄은 특정 언어에서만 사용할 수 있다고 말할 수 있다. [본문으로]
Posted by 김영현
책들2012/01/08 19:29
Kindle 5370/14618(36%)

객체의 상태를 변경하는 메소드의 반환 값을 객체의 Reference 로 하여 다음과 같은 코드가 가능한 것을 Named Parameter Idiom 이라고 한다.

예는 Qt API 의 QTimer 를 사용한다.

// NPI 를 사용하지 않는 코드

QTimer timer;
timer.setInterval(1000);
timer.setSingleShot(true);
timer.start(); 


 // NPI 를 사용하는 코드

QTimer timer = QTimer().setInterval(1000).setSingleShot(true).start(); 


나머지는 개발자가 편한 혹은 팀이 선호하는 방법으로... 선택의 몫.


 
Posted by 김영현
책들2012/01/03 21:13
함수 인자의 개수는 어느 정도가 적당할까? 

조지 밀러라는 분이 1996년에 발표한 논문이 있다.

G.A. Miller, The Magical Number Seven, Plus or Minus Two: Some Limits on Our Capacity for Processing Information. 

위 논문에서는 제목 처럼 7을 마법의 숫자라하고, ( 7 +/- 2 ) 를 인간이 가진 정보처리 능력의 한계라고 제시한다. 이러한 용량의 제한에 따라 인간의 뇌가 단기기억을 효율적으로 사용하기 위해서는 5~9 사이의 의미덩이(Chunk)를 만드는 것이 기억하기 편리하다고 한다.
 
더 연구를 진행하여 단순한 이진법적인 기억의 경우에는 9개 정도이며 영문 단어와 같은 경우에는 5개 정도라고 관찰하였다.

자세한 내용은 덩이짓기(Chunking, 청킹) 라는 페이지를 확인하면 된다.

그럼 이 같은 부분을 참고하면 6개 이상되는 경우는 관찰결과에 의하면 기억하기가 힘들다는 것이다. 그럼 함수 인자의 개수는 0 ~ 5개 정도로 하되, 6개 이상이 되면 가차없이 리팩토링을 가해야 한다는 결론이 나온다. 마틴 파울러의 리팩토링에 언급되는 Introduce Parameter Object 를 사용하면 되겠다. 

가이드 라인 정도? ㅎ
Posted by 김영현
책들2012/01/03 13:24

Kindle 4450/14618 (30%)

유독 java, c# 에만 초점을 맞춘 책들이 많은데, c++ 을 기본으로해 api design 에 대해서 논하는 책은 처음 접해본다. design 자체가 general 해서 언어와는 무관하다고 생각할 수 있겠지만 general 한 생각을 실체로 만드는 것은 사용하는 언어에 따라 달라지기 때문에 이 같은 책을 너무도 기다려 왔다. 책에서 논하는 내용들은 다양한 서적에 이미 언급된 내용들이 대부분이지만 필요한 내용을 집대성해 이 책 한권으로 관련된 내용을 따라갈 수 있게 reference 에 대한 부분도 정리가 잘되어있다. 

고작 30% 밖에 읽지는 않았지만, 회사에서 c++ 을 주로 사용하므로 팀원들에게 혹은 신입사원들에게 스터디 혹은 세미나 시킬 요량으로 읽게하면 큰 도움이 될 것 같다. 

architecture design 부터 micro pattern 까지 그리고, 다양한 설계 principle , 개발 시 유용한 팁, ...

주옥같다!!! 읽으면서 가끔씩 정리해보자.
Posted by 김영현