지능의 본질과 구현

제목과 목차를 보고 흥미가 생겨서 읽었는데, 읽고나니 딱히 인공지능이라고 할만한 내용은 아니었어서 허망 했다. 책에서 내내 강조하는 니마시니 알고리즘이라는건 책의 후반부에 조금 나올 뿐이고, 그마저도 게임 AI에 비해 특별해 보이지도 않았음. 지능이라고 하기는 좀 가야할 길이 멀어 보였다.

그래도 책 초반과 중반까지는 여러 다양한 분야의 흥미로운 얘기가 나와서, 인공지능이라기 보다는 지능에 대한 철학적 고찰이라고 생각하면 읽은만은 함.

 

12가지 뇌신경의 정체

1

  • 뇌신경의 종류
    1. 후각신경(olfactory nerve)
    2. 시신경(optic nerve)
    3. 동안신경(oculomotor nerve)
    4. 활차신경(trochlear nerve)
    5. 삼차신경(trgeminal nerve)
      • 안신경(ophthalmic nerve)
      • 위턱신경(maxilkuy nerve)
      • 아래턱신경(mandibular nerve)
    6. 외전신경(abducens nerve)
    7. 안면신경(facial nerve)
    8. 전정와우신경(vestibulocochlear nerve)
      • 전정(vestibule) – 균형감각 담당
      • 와우(cochlea) – 소리 담당
      • 두 감각이 하나로 왔다가 분리된다.
    9. 설인신경(glossopharyngeal nerve)
    10. 미주신경(vagus nerve)
    11. 부신경(accessory nerve)
      1. 두개신경근(cranial root)
      2. 척추신경근(spinal root)
    12. 설하신경(hypogiossal nerve)

Continue reading

C# 6.0 완벽 가이드/ LINQ 질의

  • LINQ (Language Intergrated Query; 언어에 통합된 질의)는 지역 객체 컬렉션과 원격 자료 저장소에 대한 형식에 안전한 구조적 질의를 작성하는데 사용하는 C# 언어 기능들과 .NET Framework 기능들을 통칭하는 용어이다. LINQ는 C# 3.0과 .NET Framework 3.5에 도입되었다.
  • LINQ를 이용하면 IEnumerable<T>를 구현하는 임의의 컬렉션(목록, 배열)과 XML DOM에 대해 질의를 수행할 수 있으며, SQL Server 데이터베이스의 테이블과 같은 원격 자료 저장소에 대한 질의도 수행할 수 있다. LINQ는 컴파일 시점 형식 점검의 장점과 동적인 질의 작성의 장점을 모두 제공한다.

첫걸음

  • LINQ의 기본적인 자료 단위는 순차열(sequence)과 요소(element)이다. 순차열은 IEnumerable<T>를 구현하는 임의의 객체이고 요소는 그 순차열에 들어있는 항목이다. 다음 예에서 names는 순차열이고, “Tom”, “Dick”, “Harray”는 요소들이다.
    • 메모리 안에 있는 객체들의 지역 컬렉션이라는 점에서 이런 순차열을 지역 순차열이라고 부른다.
string[] names = { "Tom", "Dick", "Harray" };
  • 질의 연산자(query operator)는 순차열에 어떠한 변환(transformation) 연산을 적용하는 메서드이다. 전형적인 질의 연산자는 입력 순차열 하나를 받아서 출력 순차열을 산출한다. System.Linq의 Enumerable 클래스에는 약 40개의 질의 연산자가 있는데, 이들은 모두 정적 확장 메서드로 구현되어 있다. 이들을 통틀어 표준 질의 연산자라고 부른다.
    • 지역 순차열에 대해 작용하는 질의를 지역 질의(local query) 또는 객체 대상 LINQ 질의라고 부른다.
    • LINQ는 또한 SQL Server 데이터베이스 같은 원격 자료 저장소에서 동적으로 자료를 공급받는 순차열도 지원한다. 그런 순차열은 IQueryable<T> 인터페이스를 추가로 구현하는데, 이 인터페이스에 대응되는 일단의 표준 질의 연산자들이 Queryable 클래스에 있다.
  • LINQ에서 말하는 질의는 순차열들과 질의 연산자들로 이루어진 하나의 표현식이다. 그 표현식을 평가하면 순차열들이 연산자들에 의해 변환된다.
    • 예컨대 Where 연산자를 이용하면 이름들을 담은 배열에서 길이가 4개 이상인 이름만 추출할 수 있다.
string[] names = { "Tom", "Dick", "Harray" };
IEnumerable<string> filteredNames = System.Linq.Enumerable.Where(names, n => n.Length >= 4)

foreach (int n in filteredNames)
  Console.Write(n);  // Dick Harry

Continue reading

WPF MVVM 일주일 만에 배우기

제목 그대로 WPF와 MVVM에 대해 알려주는 책. 일종의 요약서 같은 책이라 핵심적인 개념들만 모아놔서 초심자가 보기에는 적합하지 않고, 프로그래밍 경험자가 WPF와 MVVM에 대해 훑고자 할 때 좋은 가이드가 됨.

개인적으로 C#을 사용하면서 참 우아하다고 느껴지는 부분이 많았는데, 이 책을 통해 배운 WPF 또한 감탄이 나오는 부분이 여럿 있었다. 확실히 책임지는 사람이 명확히 있고 그 사람들이 주도적으로 이끌고 나가는 결과물이 완성도와 완결성 있다고 생각 됨.

WPF 자체는 최신도 아니고 주력 기술도 아니지만 –WPF 후에 나온 UWP를 넘어 MS는 이젠 Xamarin을 밀고 있으니– 최근의 다양한 곳에서 적용되는 MVVM 패턴의 시초를 맛볼 수 있으니 –Xamarin도 xaml을 사용한다– 관심 있으면 읽어 볼 만한 책.

C# 6.0 완벽 가이드/ 컬렉션

  • 컬렉션에 관련된 .NET Framework의 형식들은 크게 다음 세 범주로 나뉜다.
    • 표준 컬렉션 프로토콜을 정의하는 인터페이스
    • 바로 사용할 수 있는 컬렉션 클래스
    • 응용 프로그램에 특화된 커스텀 컬렉션을 작성하는데 사용하는 기반 클래스
  • 컬렉션 이름 공간들은 다음과 같다.
이름공간 내용
System.Collections 비제네릭 컬렉션 클래스들과 인터페이스들
System.Collections.Specialized 강한 형식의 비제네릭 컬렉션 클래스들
System.Collections.Generic 제네릭 컬렉션 클래스들과 인터페이스들
System.Collections.ObjectModel 커스텀 컬렉션을 위한 프록시들과 기반 클래스들
System.Collections.Concurrent 스레드에 안전한 컬렉션들

 

열거

  • 컴퓨팅에는 배열이나 연결 목록 같은 간단한 자료구조에서부터 적흑 트리(red/black tree)나 해시테이블 같은 복잡한 것에 이르기까지 다양한 종류의 컬렉션이 쓰인다.
    • 이런 자료구조들의 내부 구현과 외부 특징은 아주 다양하지만, 컬렉션의 내용을 운행하는(traverse) 능력, 다시 말해 컬렉션에 담긴 요소들에 차례로 접근할 수 있는 기능을 제공해야 한다는 점은 거의 보편적이다.
    • .NET Framework는 이를 위해 한 쌍의 인터페이스(IEnumerable과 IEnumerator, 그리고 해당 제네릭 인터페이스들)를 제공한다.
    • 이들을 구현함으로써 내부 구현과 외부 특징이 서로 다른 자료구조들이라도 공통의 운행 API를 소비자에게 노출할 수 있다.

Continue reading

인간의 신경시스템의 진화 과정

  • 핵(nucleus)
    • 세포의 모든 활동을 조절하는 세포내 기관
  • 피질(cortex)
    • 생물체의 기관 겉을 둘러싸고 있는 층
  • 피질하핵(subcortical nucleus)
    • 피질 하부에 있는 세포핵
  • 피질 아래 대표 기관
    • 대뇌기저핵
    • 시생
    • 소뇌 등
  • 대뇌 기저핵
    • 대뇌반구에 있는 회백질. 대뇌핵이라고도 한다.
  • 대뇌피질 두께 2mm안에 신경세포가 모여 있다.
    • 그 신경 세포들이 대뇌 안쪽의 기관들과 연결된다.
    • 꼬리핵(caudate nucleus), 시상(thalamus), 조가비핵(putamen), 창백핵(globus pallidus)

Continue reading

기억의 신경회로

  • 해마 (hippocampus)
  • 내비상피질 EC (entorhinal cortex)
    • 해마의 입출력을 관장하며 냄새를 적절한 기억과 매치시키는 기능
  • 차상회 DG (dentate gyrus)
    • 해마의 하위조직으로 공간 기억과 새로운 기억 형성에 관여
  • Ammon’s horn CA (암몬각)
    • 대뇌 변연계의 한 부분
  • 패턴 분리(pattern separation)
    • 전에 봤던 것과 비슷하지만 다른 거를 분리하는 것
  • 패턴 완성(pattern completion)
    • 기억 저장 부위와 상호작용하여 그 요소와 결합되어 있는 나머지 정보들도 인출. 한 기억 조작으로 전체를 기억하게 하는 것.
    • 부분 단서를 보고도 연관된 기억을 떠올리는 것
  • Object-order Association
    • 사물 혹은 사건에 대한 순서를 연결시키는 영역

Continue reading

기억의 단계

  • 기억의 근원은 시퀀스(sequence)다
    • 시퀀스는 서열과 유사
  • 기억의 과정 (sequence)
    • Encoding (부호화)
      • 언어, 시각, 음악 등 다른 형태의 감각 정보를 처리하고 저장하기 위해 그 정보를 어떤 체제 안으로 변형시키는 과정
    • Storage (저장)
      • 부호화된 정보를 기억 체계 속에 유지시키는 것
    • Consolidation (공고화)
      • 초기에 습득한 기억의 흔적을 안정시키고 확고하게 형성하는 과정
    • Retrieval (인출)
      • 장기기억에서 정보를 찾는 탐색 과정 혹은 장기 기억에서 작업 기억으로 정보를 전달하는 과정

Continue reading

사람의 말은 어떻게 생겨났는가?

  • 숨쉬고, 걷고, 생각하기가 정신활동의 기본 작용
    • 말하기는 숨쉬기의 조절 작용
    • 호흡과 심장박동은 함께 이루어진다.
  • 언어는 발음에서 비롯
  • 노래하거나 말할 때는 숨을 쉴 수 없음.
    • 날숨의 조절이 언어
    • 날숨을 적당히 끊어서 하는게 발성
    • 언어는 100-600만년전 출현 설이 주류
  • 강한 감정을 전달할 때 인간은 호흡(발성)을 사용
    • 울기, 웃기, 말하기
  • 날숨을 끊어서 조절할 수 있는, 성대, 혀뿌리, 후두, 인두의 움직임이 언어를 만들어냄
    • 자연의 소리에서 인간 언어가 출현함
  • 원숭이도 종류에 따라 15-20개, 30개 정도의 다른 소리로 의사소통을 할 수 있음.
  • 동물과 인간의 언어 차이는 소리 종류를 저장하는 양의 차이

Continue reading

크리스퍼가 온다

내가 생각하기에 적어도 현세대에는 AI보다 훨씬 파괴력 있을거라 생각하는, 유전자 편집 기술의 3세대 기술인 CRISPR-Cas9 (이하 크리스퍼)를 개발자하여 노벨상 0순위로 꼽히는 다우드나 교수의 저서. 크리스퍼에 대한 글은 많지만 개발자가 직접 쓴 글이라 더 가치가 있게 느껴진다. –하이젠베르크의 <부분과 전체> 같은 느낌이었는데, 그것보다는 명료해서 좋았다.

책은 크게 유전자 편집 기술의 흐름을 쫓는 부분 –본인이 크리스퍼를 개발하기까지– 과 크리스퍼 기술이 가질 수 있는 미래 모습에 대한 부분으로 나뉘는데, 전반부는 생물학에 대한 이해가 있지 않으면 따라가기 쉽지 않고 –나도 생물학은 몰라서 대부분 이해를 잘 못했음– 뒷부분은 인문학적인 부분이라 생각해 볼만한 점이 많았음.

저자는 자신이 만든 기술의 파괴력이 너무나 강력해서 원자폭탄을 만든 오펜하이머와 같게 되지 않을까 하는 걱정과 그래도 발견한 기술을 인류를 위해 유용하게 쓰이길 바라는 마음이 공존하는 모습을 보이는데 –토론 중에 누군가가 이야기한 크리스퍼로 유전병을 치료할 수 있는 사람을 치료하지 않는 것이 도리어 죄가 될 수 있다는 말이 인상 깊었다– 세상을 변화시킬 발견, 발명을 해낸 사람이 가질 수 있는 고뇌가 느껴져서 복잡 미묘한 감정이 들었다.

나는 늘 기술 자체에는 선악이 없고 –칼 자체는 죄가 없다. 그걸로 사람을 찌르는 사람이 죄지– 현실 세계에는 경계가 모호하다고 생각하기 때문에 –어디까지가 자연이고 어디까지가 인위인지 구분하는 것도 쉬운 일은 아니다– 크리스퍼를 이용한 유전자 편집 자체가 문제가 될 것이라고는 생각하지 않는다. 인류가 가본적 없는 길에 들어섰을 때의 두려움이야 있게 마련이지만, 여튼 나아가면서 생기는 문제는 그 상황에 맞게 바로 잡으면 되는 일이다.