Whole Brain Emulation 을 하기 위한 Issue 사항


1. Emulation System


에뮬레이션 시스템에는 두가지의 방법이 존재한다.

1. 외부에서 하드웨어를 통해 Body Interface를 통해 Brain Emulator 에 접근하는 방식

Body Model 에게 Action의 전달과 simulate된 감각 신호를 받게된다.


2. 완전한 가상을 통해 에뮬레이션 시스템을 동작하는 방식 이경우에는 시뮬레이터에서 시뮬레이터의 body를 통해 brain emulator와 연결하며 가장 큰차이점은 Action 동작이나 감각신호를 몸체 시뮬레이터에서 제어한다는 점이다.

외부에서 제어하는것이 아닌점이 가장 큰 차이점


에뮬레이션 소프트웨어에는 몇가지 이슈사항이 존재한다.

(1) 컴퓨터 자원 배분

(2) 에뮬레이션 제작 정보 수집

(3) 보안 시스템

(4) 다양한 Software Service 제공


일단 이러한 문제를 해결하기 위해서는 가장 근본적으로 필요로 해지는것은 Quantum Computing 이 아닐까 생각이 든다.

외냐하면 우리 머리속에서는 뇌속의 뉴런의 정보 전달 속도는 지금의 시스템으로는 터무니 없이 부족하기 때문이다. 이러한 문제로인해 제한적인 개발이 강제되어지고 있다.




2. Complication and Exotica

이색성과 복잡도 이것은 뇌에는 시신경과 같은 시스템만 존재하는것이 아니라 다양한 정보의 전달 방식들이존재한다. 수많은 다른 형태의 프로세싱들이 반드시 에뮬레이팅 되어야 한다.

그렇게 되므르써 중요하고 중요하지 않은 부분들에 대한 테스팅이 가능해진다.

3. Spinal Cord

전통적으로 척수는반사회로와 패턴 발생기로 여겨졌지만 실제로는 처리가 매우 복잡하고 학습과정이 축추세포를 통해 발생하는 증거가 있다.

네트워크는 고정적이고 단계적이지만 매우 유연하고 hardwired 하지 않을 수 도 있다.

이것은 중추 신경계와 뇌부분의 모방하는것이 비스캔 코드에 학습되어 많은 신체 컨트롤을 할 수 있게 한다.


4. Synaptic adaptation

시냅스는 보통 그들의 힘에 의해 개인 특성화 된다. 

주어진 진폭 크기에 따라 생성 되어지며 이것은 뇌의 다양한 기능을 수행하는데 쓰여진다. 

시냅스의 가소성

Neural Activity < Brain function role play, temporal filtering, mortor control, auditory processing < long term synaptic plasity


5. Unknown neurotransmitter and neuromodulators

10개 major neuroTransmitter가 존재하며 200개 이상의 neuron model  272개의 세포외 뉴런 활동신호 서로 다른 물질에 대한 발견 년도를 기록 해보면 시간이 지남에 따라 점점더 발견이 느려지는 S자형 성장이 일어나고 있습니다.

아미노산 계열 : Gamma - Amino buttnic, acidi GABA, glutamiate j Glu, Gly

아민 계얄 : Ach, DA, Epinephrine, Histamine

노르에피네프린 : NE, Serotonini-5-HT

펩타이드 계열 : CCK(콜레시스토키닌) Dynorphin(디노르핀 ), Enk(엔케필린), BAAG, 뉴로 펩타이드-Y,somatostain, substance P, VIP 등

주로 3가지 아미노산, 아민, 펩타이드 로 구성되어져 있다. 

모듈 신경전달 물질의 상한 경계는 수용체 뿐만아니라 세포막 단백질에 의해 조절될 수 있다.

이게 된다면 지금까지 단순 한계치 조절이 아닌 값조작이 한다는것을 의미할 수 있다. 가용성만 본다는것이 아니라 다양한 값조작이 확인되야할 수도있겠는데....

이러한 다양한 신경전달물질들이 존재하는데 이러한 것들의 각 행동을 정확히 이해해야 할필요있다.

그뿐만이 아니라

WBE Modelling 모듈들의 연결은 결정적이다. 이 의미는 뇌의 각 부분들에 대한 이해가 뿐만 아니라 그것들의 상관관계와 행동관계를 정확한 모델링하여 컴퓨터화하여 연결하는것에 초점을 두어야 한다.


6. Unknown ion channels

수용체와 비슷한 알려지지 않은 ion channel 에서의 뉴런 활동도 있다. 554개의 Ion entries가 71개의 디자인된 채널에서 143개의 유전자와 Super Family?? Ion channel은 뉴런 전자 다양성을 증가를 가능케 한다. 그러나 linear 한manner가 필요하다. 


7. Volume transmission

뇌를 감싸는 세포를 Extra cellular spce라 한다. 평균 200암페어 정도이며 뇌용적의 20%정도는 이것의 영양이 된다. 여유 이온을 전달하며 뇌 자극 물질또한 전달이 가능하다.(도파민 등)

그렇기에 정확한 3D 스캔이 필요해진다. 

이것은 확산을 제한하는 시간에 대한 정보 제공할것이다. 에뮬레이션 일부이며 어떤 화학 종류가 모델에 필요하게 되는지 알려주는 역할을 할 수 있도록 한다.


8. Body chemical environment

뇌 에뮬레이션 경우 화학물질의 일 부 측면의 환경을 시뮬레이션 해야한다.

이것 은 물질 대사에 관한 인간 대사 물질의 매칭이 필요하다. 신체 화학 모델은 WBE에 비해 매우 간단하다.

대사 보다 단백질 상호 작용 모델이필요한 경우 복잡성은 증대 되어진다.


9. Neurogenesis and remodelling

사람이 나이가 들어감에 따라 점점 똑똑해지듯이 뇌또한 나이를 먹어감에 따라 신경이 생성되어진다. 

일부뇌에서지만 분명 신경이 생성 되어집니다. 

근데 속도는 빠르지는 않은편이며 1주 약간 넘은 정도에 애성되어진다.

심지어 신경생성이 무시되어지더라도 에뮬레이션은 성인의 뇌로 진행될 것이다. 이것은 학습과 적응의 리모델링에 매우 중요하게 되어질것이다.

줄기 세포 증식은 시뮬레이션 하려면 다른세포에 나타나는 데이터 구조가 필요합니다. 이들의 분화 상태, 신경 발생 유발 데이터 및 세포를 네트워크에 점진적으로 발생할 수 이도록 해야한다. (세포 기하학, 역할모델, 조정 차별 모델) 

Posted by MIDDLE
,

제목 : Whole Brain Emulation RoadMap 

저자 : Oxford University anders sandberg, Nick Bostrom


위의 글에서 내가 맘에드는 부분만 빼내어 재해석하였다. 


Whole Brain Emulation (WBE) 는 학술적으로  미래에 실현해야할 중요 기술중 하나이다.


이유로는 4가지를 크게 들 수 있다.

Research

- 뇌 에뮬레이션은 컴퓨터 신경 과학의 뉴런 모델의 정확도를 비약적으로 늘릴수 있을수 있기때문에  논리적인 끝이다. 

- 뇌를 이해하는데에 큰도움을 줄 수 있으며, 학습과 경험에서 많은 테스트 셋을 제공할 수 있을 것이다.

- 뇌 모방 엔지니어링은 AI와 Brain-Computer Interface 패턴 인식등에 큰 발전을 가져올 수 있을 것이다.

- 현재의 지식을 학습을 통해 미래의 급진적인 확률에 대해 나타낼 수 있습니다.( 이해가 안되내..)

 

Economics

- 경제적인 관점에서는 복사가능한 뇌는 분명 큰 효과를 가져 올 것이다. 그리고 적은 확률적인 연관 사건들 조차도  심오한 사회적인 결과를 가져올것이다. 


Individually

- 만약 특별한 뇌를 에뮬레이션 저렴하고 가능할것이다. 그리고 만약 개인적인 존재에대해 만날 수 있다. 

에뮬레이션은 backup과 copy를 통해 디지털 불명성을 부여 가능할 것이다.


Philosophy

-  두뇌 에뮬레이션 자체는 마음 철학과 정체성 철학에서 많은 아이디어를 시험하거나 그러한 아이디어에 대해 생각할 수있는 새로운 맥락을 제공합니다.


- 그것은 인간의 향상의 급진적인 새로운 형태를 나타낸다.




시스템을 이해하기 위한 최소 조건

Brain Emulation은 뇌의 기능적 이해 없이는 달성 될 수 없다.

어떤 데이터가 관련이 있는지를 인식 할 수있는 모델과 이론이 필요하며 이를 개발하고 테스트하기위한 데이터를 제공해야합니다.

이론적으로 두뇌 에뮬레이션은 실제적으로 오른쪽 가장자리를 따라 어딘가에서 일어날 것이며, 최상위 레벨의 전체적인 이해를 훨씬 밑도는 것으로 나타날 것입니다.


다양한 종류의 저 현상에 대한 폭 넓은 이해를 포함한다.


우리는 시뮬레이션을 테스트하고 우리가 추구해야 할 데이터의 종류를 아는 더 높은 수준의 현상에 대해 어느 정도 이해해야합니다.


올바른 이해를 개발하고, 데이터를 수집하고, 계측을 강조하고, 제한된 에뮬레이션을 실험하기위한 올바른 연구주기를 조성합니다.

관련 분야에 유용한 서비스를 제공하고 유익한 스핀 오프를 제공하는 것은 WBE 개발에 없어서는 안 될 요소입니다


에뮬레이션의 레벨과 성공의 기준






시뮬레이션 Scale 단위


1 .세포 단위 시뮬레이션


2. 화학적 시뮬레이션


3. 유전적 표현


4. 구획 모델 (세포내)


5. 세포 전체 모델 (뉴런)


6. 로컬 네트워크 (뉴런을 네트워크모듈로 교체)


7. 시스템모델 ( 기능을 수행단위가 되지 않을까 생각함)





Levels of Brain Emulation


1. Computational Module : Classic AI High level 정보의 표현과 정보의 학습으로 만들어내는 모듈


2. Brain region connectivity : 각 영역은 기능 모듈을 나타내며 서로간에 연결되어 (species universial) “connectome”


3. Analog Network population model : 뉴런의 분포를 흉내내어 그들간의연결을 구현해는다. Activity 와 뉴런들의 상태 그룹을 그들의 시간별로 그룹으로 표현한다. 이것은 컨넥션 모델 ANN과 유사하다.

4. spiking neural network : firing state 와 synaptic states 가 추가된다.


5. Eletrophysiology : 전기적 신호 membrane state 가 추가된다. ion channel, 속성, 상태 ion 연결 전하량의 기준이 추가된다. 


6. Metabolome 대사체 : 대사물 신경 전달물지에 대해 고려되어야 한다.


7. Proteme : 단백질과 유전자 표현레벨이 추가되어야 한다.


8. State of protein complexes  : 4개의 단백질구조


9. Distribution of complexes : 세포내의 지도를 구성 할정도


10. Stochastic behavior of single molecules 세포 위치 또는 세포 기계 모델이 뇌 전체를 구성가능한정도


11. Quantum : 뇌와 양자 간의 연결이 가능한정도


4단계의 spiking 까지는 Threshold를 구성하여 tanh나 relu를 구현하면 될 것같은데 이후부터는 현재의 딥러닝에서 고려가 되어있는지는 자세히 모르겠다.


데이터의 필요

저단계의 Emulation에서는 엄청난양의 간단한 정보를 필요로 한다.


고단계로 갈 수록 적은량의 복잡한 정보를 필요로 한다.




학자들의 예측

뇌의 에뮬레이션이 필요로하는 레벨은 과연 어느정도인가 하면 대부분의 학자들은  4~6 레벨이면 뇌의 에뮬레이션을 구성할 수 있을것이라 고려하였다.

그러나 2명의 학자는 8~9 레벨에서 할 수 있을 것이라 예측하였다.

그러나 해당 글의 필자는8~9레벨의 에뮬레이션은 고차원의 에뮬레이션으로 저레벨의 에뮬레이션에서는 필요없을 것이라 생각한다.

그렇기에 이글에서는 4~6레벨에 집중하여 적도록 한다.



RoadMap

1. 요구사항

WBM 는 진행하기 위해 3가지의 능력이 필수사항으로 요구되어진다.


  • Brain Scan
    • Scan에는 각 조직의 역할 ( 세포와 축색돌기 상응관계 정의 등) 필요로하다.
    • 일반적으로 뇌과학에서 많이 쓰이지만, WBM에서 요구되는 정도는 이전보다 거대한 크기에서 손상에의 데메지가 적도록 조작이 가능해야 한다.
  • Software Model 작성
    • Imaging Method
      • 소프트웨어로로 만들기 위해서는 크게 3가지의 메인 이슈가 존재한다.
        • 동시까지는 아니지만 뇌전체의 구석구석까지도 이미지할 수있는 능력
        • 각 부위의 기능에 적절한 정보를 얻는 능력
        • 가장 작은 시스템까지도 에뮬레이션이 가능하도록 하는능력
    • Image To Software
      • 만들어진 Image를 소프트웨어화 시키는데에는 터무니없는 정교한 작업이 필요로 된다.
        • 이미지를 해석하여 적절한 시뮬레이션 파라미터로 변환하는 작업
        • 기계화 뇌과학 모델의 충분한 정확도
      • 이미지 프로세싱은 왜곡과 노이즈를 절대 피할수 없는 문제가 될 것이며, 적합한 데이터를 가끔 잃기도 할것이다.
      • 과도한 데이터 저장공간의 필요를 막기 위해 아마도 이 과정 중에는 원본 스캔데이터를 바로 넣는것이 아닌 압축된 형태로 적용하게 될터인데 그로인한 손실이 있을 수 있다.
    • 스캔 데이터 해석
      • 데이터의 관계도를 측정
      • 전기적 신호의 연관성, 세포 타입, 시뮬레이션 파라미터 정의
      • 그다음 이 정보를 에뮬레이션을 위한 "Inventory Database"라 한다.
    • 위의 작업들이 소프트웨어 모델을 작업을 하기위한 선행 작업이라 보면 된다.
    • Software Model
      • Software Model 작성에는 효율적으로 컴퓨터에 적용할 수 있는 뉴런 행동에 대한 수학적 모델이 필요로 한다.
      • 컴퓨터 뇌과학은 현재 뉴런의 속성, 뉴런의 네트워크, 시냅스, 학습 과정등에 초점이 맞춰져있다.
      • WBM에서는 이러한 것 뿐만아니라 여타 다른 subsystem들에 대한 모든 적절한 좋은모델이 필요로 하다.
      • 위와 함께 스캔데이터로부터 적절한 파라미터를 추출하여 써야한다.
      • 이로써 스캔된 뇌 전체의 컴퓨터화 된 모델이 만들어지게 된다.
    • Emulation Brain
      • 위의 과정등을 통해 모델이 만들어졌다면 이제 Emulation을 하면될탠데 이문제를 해결하기 위해서는 엄청난 양의 컴퓨터 자원이 필요로한다.
      • 위의 자료들을 유지할 수 있을만한 메모리가 필요
      • 적절한 속도로 돌아 갈 수 있도록 할 CPU가 필요
      • 위의 복잡한 작업들을 병렬로 처리 할 수 있도록 해야한다.
      • 위의 과정들을 처리 할 수 있을 만한 내부 Bandwidth또한 필수적이다.





WBE 개발에 있아서너느 필요로하는 주요 기술(Scanning, Interpretation, simulation)들이 존재한다. 만약 특정 어떠한것이 늦어진다면 어떻게 될것인가?

1. 그들이 만약 독립적으로 발달하게 된다면 사람레벨의 에뮬레이션을 하는데에 세가지 모두 충분히 발달하지 못할 가능성이 높다

2. 만약 컴퓨터 성능이 제한이라면 더욱더 복잡한 생물의 에뮬레이션 모델이 나타나야 할것이다.

3. 만약 Scanning 이나 Image Interpretation, Neural Simulation이 제한적이라면 비교적 획기적인 반전이 가능하다.

또한 Scanning Tech 가 작은 컴퓨팅에서 사용가능하도록 간단한 유기체에서 복잡한 유기체로 이전가능한 소프트웨어가 필요로하다. 

4. 컴퓨터 제한또는 스캐닝에 병목현상이 있는 경우 개발속도는 경제적에 따라 결정 되게 될것이다.


솔직히 WBE는 경제적이나 정치적으로 결정될 가능성이 매우 큰기술이다. 만약 충분한 연구가 만들어지게 되면 그때부터는 급속도로 WBE가 발전이 가능하도록 될것이다.



Posted by MIDDLE
,

Yoshua Bengio 교수님의 Deep Learning 책이 드디어 도착했습니다.(2주동안이나 기다렸다...) 
이 글에서는 책을 읽으면서 내가 이해하고싶은데로 이해하는 내용을 정리해보도록 합니다. ( 영어가 매우 부족한 관계로 내용은 반만 믿으시길 바랍니다..)


이 책에서는 목차로는 20 Chapter가 존재하며

1) Introduction

1. Applied Math and Machine Learning Basics

2) Linear Algebra

3) Probability and Information Theory

4) Numerical Computation

5) Machine Learning Basics

2. Deep Networks : Modern Practices

6) Deep Feedforward Networks

7) Regularization for Deep Learning

8) Optimization for Training Deep Models

9) Convolutional Networks

10) Sequence Modeling : Recurrent and Recursive Nets

11) Practical Methodology

12) Applications

3. Deep Learning Research

13) Linear Factor Models

14) Autoencoders

15) Representation Learning

16) Structured Probabilistic Models for Deep Learning

17) Monte Carlo Methods

18) Confronting the Partition Function

19) Approximate Inference

20) Deep Generative Models


이러한 형식으로 진행이 되어집니다.

1장에서는  딥러닝에 필요한 수학과 머신러닝의 기초에 대해 1~5Chapter동안 설명하며,
2장에서는 Deep Learning 의 기초를 설명하기위해 
Deep Learning 의 기초인 Feedforward Networks 에서부터 Trainning 방법 이미지 특징 추출 최적화 네트워크인 Convolutional NeuralNetwork와 시간의 순서에 따른 처리의 최적된 Recurrent neural network순으로 진행합니다.

3장에서는 Deep Learning 관련 실험들에 대해 설명하는것 같습니다. ( 이부분은 저도 봐야 알것같습니다.)


이 책의 참조사이트 주소 : www.deeplearningbook.org

다양한 자료와 강의용 Slide 도 제공합니다. 


딥러닝으로 부르게 된 이유 

 복잡한 문제를 계층적으로 표현하여 간단하게 표현한 그래프를 위에서부터 아래로 그래프는 깊어지며 많은 레이어를 보유하게 된다. 이러한 이유로 

AI Deep Learning 이라 부르게 되었습니다.


지식 기반의 학습

 딥러닝의 나오기 이전부터 IBM의 딥블루는 체스세계챔피언을 이길수 있는 역량을 이미 가지고 있었습니다. 논리적인 약속에 기반해 하드코딩하여 구석하는 인공지능을 지식기반의 학습이라 합니다.


머신러닝

 이러한 지식기반의 학습의 직면한 문제점은 하드코드된 시스템이기 때문에 AI System을 구석하기 위해서는 그들의 보유한 지식의 패턴을 추출해야할 필요가 있었습니다. 이러한 과정을 기계에게 맡겨 기계가 데이터의 패턴속에서 특징을 추출하는 것을 머신러닝이라 부르게 됩니다.

기본적으로 머신러닝 알고리즘으로는 Logistic regression이 존재하는데 결정을 하는데 도움을 줄 수 있으며, Naive Bayes 알고리즘은 Spam 이메일을 분리하는데 쓰이기도 합니다. 


이러한 머신러닝을 이용하여 뭘 할 수 있을까

Feature를 추출하여 할 수 있는 작업의 예

사진속에서 자동차인지 찾기 ( 자동차의 바퀴, 전조등 )





                                                  

Posted by MIDDLE
,

https://www.youtube.com/watch?v=lfHX2hHRMVQ

동영상 : RL Course by David Silver - Lecture 2: Markov Decision (DeepMind의 David Silver님 강의)


Reinforcement Learning 에 대해 공부하면서 Dr. David Silver님의 강의를 참조하여 공부하였습니다.


1. 강화 학습이란?

강화학습이란 어떤 환경에서 에이전트가 현재의 상태를 인식하여 어떤 행동을 취한다. 그러면 그 에이전트는 환경으로부터 결과(Reward)를 얻게 된다. 그 결과는 양수와 음수 모두 가능하며, 강화학습의 알고리즘은 그 에이전트가 앞으로 누적될 포상을 최대화 하는 일련의 행동으로 정의되는 정책을 찾는 방법이다.


사람이 게임을 한다고 생각해봅시다. 처음 그게임을 해보게 되면 이 게임은 ~~한 시스템이고 ~~한 조작을 해서 이렇게 조작하면 이길 수 있다. 근데 너의 손은 얼마나 빨리 움직이지? 이렇게 게임을 하지는 않을 것입니다. 아마도 아무것도 모르고 게임을 해보면 어떻게 게임을 하는지 이렇게 조작하면 지고 이렇게하면 이긴다는 것을 학습 할 것입니다.


강화 학습도 이와 같이 agent가 아무것도 모르는 환경에서 경험을 통해 학습하는 것입니다. 간단히 생각해 "컴퓨터니까 다 계산해서 게임하거나 로봇을 움직이거나 하면 안돼?" 라고 생각할 수 있지만 작은 grid world경우에야 모든 것을 계산해 할 수 있지만, 바둑같은 경우 혹은 실제 세상에서는 모든 것을 계산하는것은 불가능 한 일입니다. 하지만 모든 사람이 프로 바둑기사는 될 수는 없어도 하다보면 바둑을 둘 수 있게 됩니다. 인공지능이 사람의 그러한 학습 방법을 모티브 삼아서 학습 하는 것입니다.



강화 학습의 정의를 살펴 보면 "상태", "환경", "행동", "포상" 과 같은 단어들이 등장합니다. 문제를 풀고 싶을 때 가장 먼저 하는 것이 문제의 정의입니다. 실재로 무엇인가를 학습하기 위해서는 그 학습의 바탕이 되는 문제를 정의가 필수적입니다. 실재로 무엇인가를 학습하기 위해서는 그 학습의 바탕이 되는 문제의 정의가 필수적입니다. 강화학습에서는 그 문제는 MDP( Markov Decision Process)로 정의되며 특정Environment에서 Agent(사람으로 치면 뇌)가 그 Environment를 MDP로 이해합니다. 이 MDP라는 것에 대해서 살펴보는 것으로 강화 학습의 공부가 시작합니다.


2. MDP(Markov Decision Process)이란?

MDP를 배우기 전에 Markov하다는 말의 정의와 Markov Chain, Markov Reward Process에 대해 먼저 알아 봅니다. Markov는 러시아 수학자입니다.

Dynamics은 확률분포와 완전히 분리하여 정의 할 수 있습니다.

1.png



만약 신호가 Markov property인 경우 다른 한편으로는 환경과 작업이 3.4식과 3.5식이 같은 경우 모든 기록들 이경우에는 환경과 작업은 모두 Markov property를 가지고 있습니다.


첫 식 처럼 처음 어떤 상태로부터 시작해서 현재 상태까지 올 확률이 바로 전상태에서 현재 상태로 올 확률과 같을때 두번째 식처럼 표현 될 수 있고 state는 Markov 하다고 일컬어질 수 있습니다.


게임이라고 생각하면 어떤 상황은 이전 모든 상황에 영향받아 지금 상황이 된것이기 때문에 사실 지금 상황에 이전 상황의 정보가 모두 담겨 있습니다. 우리가 접근 하는 모든 state가 Markov property라 할 수 없지만 그럴 경우 state는 Markov라고 가정하고 강화학습으로 접근합니다.


강화 학습에서는 value라는 어떤 가치가 현재의 state의 함수로 표현되기 때문에 state가 Markov하다는 것은 상당히 중요합니다. 따라서 강화학습에서는 state가 Markov 하다라고 가정하고 실재로도 이렇게 가정했을 경우 문제가 생기지 않습니다. 

Screenshot from 2016-07-12 15:12:25.png

위 그림에서 로봇이 세상을 바라보고 이해하는 방식이 MDP가 됩니다. MDP란 Markov Decision Process의 약자로 state, action, state, probability, matrix, reward, discounted factor로 이뤄져 있습니다.

로봇이 있는 위치가 state, 앞뒤로 움직이는게 action 보석은 reward입니다.


1.png




 








Posted by MIDDLE
,

A Step by Step Backpropagation Example

참조 : https://mattmazur.com/2015/03/17/a-step-by-step-backpropagation-example/


1. Backpropagation의 배경

Backpropagation은 뉴럴 네트워크를 학습시키기 위한 가장 일반적인 방법이다.

이 글에서는 이것이 어떻게 작동되어지는지 Backpropagation이 정확히 이해해보자.

2. Backpropagation Python Code
Python Script를 다운로드 받고 어떻게 구현하였는지에대해 설명이 적혀있다.

3. Backpropagation 시각화
Backpropagation이 어떠한 원리로 작동하는지에 대해 시각화를 제공한다. Neral Network visualization
각 논리 게이트의 종류에 따른 학습의 진행을 확인 가능하다.

4. 추가 정보
이 예제에서 유용한점을 찾게된다면 계속해서 뉴럴 네트워크 학습을 너희들의 어플리케이션에 사용가능하고, Adrian Rosebrock의 Deep Learning 과 python을 추천한다는데.. 어려워보이내

5.미리 보기
이번 튜토리얼에서는 2개 입력값, 2개 hidden layor, 2개 출력값.
추가적으로 hidden layor와 output은 bias 추가하여 계산한다. 

Here’s the basic structure:

neural_network (7)

6. 


Posted by MIDDLE
,

CS231n : Neural Networks Part 2: Setting up the Data and the Loss (한국어 번역)

http://ishuca.tistory.com/382


fundamental of Machine Learning

https://www.youtube.com/watch?v=j3za7nv7RfI 



gaussian process regression 찾아보기


머신러닝은 두가지종류

parametic (1차함수일거야 2차함수일거야 예측)

nonparametic(모형 예측 없이)

parametic하다보면 너무 복잡해짐을 줄이기 위해 regularization 한다.

팁은 데이터를 한번에 학습 시키는것이 아니라 일부를 떼서 먼저 학습시키고지속적으로 valid체크후 계속 학습


Nonparametic 에서는 SVM(Support Vector Machine)2차함수에서는 도저히 이데이터가 왜 이형태인지알수없지만 몇가지 Feature가 추가될때그함수가 이해가 될수 있다. 와 GPR(Gaussian process regression)에 대해 배웠다.


그리고 최종적으로는 demension reduction에 대해 배웠다.


PCA(principal component analysis)

여러 디멘션의 값들을 가장 빈도가높은 쪽으로 모아서 나타내 1차원형태로라도 보여준다는데 모르겠다.



칸아카데미의 선형대수 강의

https://www.khanacademy.org/math/linear-algebra/vectors_and_spaces

Posted by MIDDLE
,

Coursera Stanford University Professor Andrew Ng's Course

시작으로는 Linear Algebra에대 배우게 되는데


크게 3단계로 Hypothesis Function, Cost Function, Gradient Descent에 대해 배우게 된다.


Hypothesis Function

h세타(x) = 세타0 | 세타1*x 의 형태로


x(input) y(output)

0        4

1        7

2        7

3        8

형태를 가지고 있을 경우

세타0는 2, 세타1은 2 그러므로 hypothesis function은 h0(x) = 2 +2x 가 되어진다.


Cost Function

우리는 hypothesis function의 정확성을 알기 위해 x와 y의 hypothesis function을 통한 결과들의 평균을 구하는 방법


예측값 에서 y를 뺀값을 2곱의 평균을 구한다. 앞의 1/2은 미분을 하였을시 편하게 풀어내기 위해서 적은 1/2이고 결과값에는 크게 영향을 미치지 못한다.


이것으로 우리는 정확한 예측한 function이 정확한 결과를 가져오는지 가져오지 못하는지에 대해 알 수 있게 되었다.



Gradient Descent

그래서 우리는 이제 hypothesis function 의 정확도를 측량 가능하다. 그래서 이것을 이요하여 자동적으로 hypothesis function의 정확도를 늘려주는 방법을 gradient descent라 한다.


위의 식을 j=0 이 되거나 1에 도달할때 까지 반복하면 된다.



Posted by MIDDLE
,

기계 학습이란?

일반적으로 기계학습은 컴퓨터가 경험, 예, 유추를 통해 학습할 수 있게 하는 적응 메커니즘과 관련이 있다. 학습 능력은 시간이 흐르면서 지능형 시스템의 성능을 개선한다. 기계 학습 메커니즘은 적응형 시스템의 기초로 형성한다. 기계학습에서 가장 많이 알려진 접근법은 인공 신경망(artificial neural network)과 유전 알고리즘(genetic algorithm)이다. 이 장에서는 신경망에만 집중한다.


신경망이란 무엇인가?

신경망은 인간의 뇌를 기반으로 한 추론 모델로 정의할 수 있다. 인간의 뇌는 조밀하게 서로 연결된 신경세포의 집합으로 이루어져있는데, 이 신경세포는 뉴런(neuron)이라는 기본적인 정보 처리 단위이다. 인간의 뇌는 100억개의 뉴런과 각 뉴런을 연결하는 6조개의 연결부위, 즉 시냅스(synapse)의 집합체다. 여러개의 뉴런을 동시에 사용함으로써 인간의 뇌는 현존하는 어떤 컴퓨터보다 빠르게 그 기능을 수행할 수 있다.

복잡한 전기 화학 반응은 신호를 한쪽 뉴런에서 다른쪽 ㄴ런으로 전파한다. 시냅스에서 나온 화학물질은 세포체의 전위에 변화를 일으킨다. 전위가 임계치(threshold 또는 임계값(threshold value))에 이르면 전기 파동인 활동 전위(action potential)가 축색 돌기를 통해 내려 보내진다. 그 파동은 퍼져나가다가 마침내 시냅스에 도달하고, 시냅스의 전위를 증가시키거나 감소시킨다. 그러나 가장 흥미로운 발견은 신경망이 적응성을 나타낸다는점이다. 뉴런들 사이의 연결강도는 자극패턴에 반응하여 장기적인 변화를 나타낸다. 또한 뉴런은 다른 뉴런과 새롭게 연결할 수 있다. 어떤 때는 뉴런의 집합체가 이쪽에서 저쪽으로 통채로 이동할 수도 있다. 이러한 메커니즘은 인간의 뇌에서 일나는 학습의 기초를 형성한다.


인간의 뇌는 매우 복잡하고, 비선형적이며, 변렬적인 정보 처리 시스템으로 생각할 수 잇다. 정보는 신경망의 특정위치가 아니라 신경망 전체에 동시에 저장되고 처리된다. 즉 신경망에서는 데이터 저장과 처리가 일부지역이 아니라 전체에 이루어진다.


적응성에 따라 잘못된 답으로 이끄는 뉴런들 사이의 연결은 약화되는 반면, 올바른 답으로 이끄는 연결은 강화된다. 그 결과, 신경망에 경험을 통한 학습 능력이 생긴다.


생물학적인 신경망에서 학습은 기초적이고 필수적인 특성이다. 쉽고 자연스러운 학습 방법 때문에 컴퓨터도 생물학적인 신경망을 모방하도록 학습할 수 있다.


오늘날의 인공 신경망(ANN, Artificial Neural Network)이 인간의 뇌를 흉내낸 정도가 비록 종이비행기로 초음속 항공기를 흉내낸 수준에 불과하다 해도 이는 크게 진일보한 것이다. ANN에는 '학습' 능력이 있다. 즉 성능을 개선하는 데 경험을 활용한다. 표본이 충분히 주어지면 ANN은 아직 발견하지 못한 사실을 일반화할 수 있다.  손을 쓴 글씨를 인식할 수 있고, 인간의 대화에서 단어를 판별해낼 수 있으며, 공항의 폭발물을 탐지할 수 있다. 또한 ANN은 전문가가 인식해내지 못한 패턴을 찾아낼 수도 있다. 예를들어, 체이스 맨하탄 은행에서는 도난당한 신용카드들의 사용내역을 검사하기위해 인공신경망을 사용했으며, 가장 의심스러운 매출이 $40~$80 정도의 여성구두라는 점을 발견해냈다.


인공신경망은 뇌를 어떻게 모델링 하는가?

인공신경망은 뉴런이라고 하는 아주 단순하지만 내부적으로 매우 복잡하게 연결된 여러 프로세서로 이루어져 있다. 이는 생물학적인 뇌의 뉴런과 유사하다. 뉴런은 이쪽뉴런에서 저쪽뉴런으로 신호가 지나가는 가중치가 있는 링크들로 연결되어 있다. 각각의 뉴런에서 저쪽 뉴런으로 신호가 지나가는 가중치가 있는 링크들로 연결되어 있다. 각각의 뉴런은 연결을 통해 여러 입력 신호를 받지만, 출력 신호는 오직 하나만 만든다. 출력신호는 뉴런에서 나가는 연결( 생물학적으로는 축색돌기에 해당을 통해 전달 된다. 나가는 연결은 같은 신호를 전달하는 여러가지 순서대로 퍼져나간다.( 신호하나가 가지들 사이에서 나뉘지않는다.) 나가는 가지들은 신경망 내 다른 뉴런의 입력과 연결된다. 


인공 신경망은 어떻게 '학습'하는가?

뉴런은 링크(link)로 연결되어 있고, 각 링크에는 그와 연관된 수치적인 가중치(numercial weight)가 있다. 가중치는 ANN에서 장기 기억을 위한 기본적인 수단으로, 각 뉴런 입력 강도, 즉 중요도를 표현한다. 신경망은 가중치를 반복적으로 조정하여 학습한다.




Posted by MIDDLE
,

지금까지의이야기는 인공지능, 특히 특징표현 학습에 기인한 기술의 발전을 기초로 생각한 5년에서 20년정도의 기간의 사회변화에 대해서였다. 그렇다면 인공지능을 통해 앞으로 새로운 사업을 만들어 낼 수는 없는것일까?

표는 미국불룸버그 애널리스트가 최근 세계의인공지능벤처를 정리한 자료이다. 약 2000개 회사를 조사해서 만든자료인데 이것을보면 인공지능에 관한 새로운 사업의 시도가 다양한영역으로 확대되어 가고있는것을알 수 있다.

서두에서 다룬바와 같이 현재 인공지능은 붐의 시대를 맞이하고 붐이 되고 있다. 인공지능과 관련된 사업은 미국에서도 아주빠르게 늘어나고 있지만, 필자가 나름대로 검토한 결과 급격하게성장하는 사업은 똑바로 일어서지 않을지도 몰라서 신중한편이 좋다.


코어 테크놀로지는 기계학습자체를 제공하는 비즈니스이다. 이미지 인식과 음성인식은 특징표현 학습이 가장 앞서 진행되고 있는 기술 분야이므로 그2개의 분야도 거론되고 있다. 툴이나 API 의 형태로 제공되는것이 많다. 하지만 비즈니스 확대로는 어려울지도 모른다. 왜냐하면 기계학습의 알고리즘은 학술커뮤니티가 앞서고 있어서 기업이 그규범을 뒤집어 고유한 기계학습의 기술을 실용화 하고 강한 경쟁력을 가진다는것은 생각하기 어렵고, 그것을 툴로써 제공한 곳에서 사용할 수 있는 기업도 많지 않다. 또 인재를 획득하려 해도 이미 높은 수준의 기계학습의 지식이나 기능을 가진 연구자와 기술자의몸값은 급등하고 있다. 


두번째표는 기업내의 활동을 한번더생각하자 라는 사업으로 영업, 보안, 인사, 마케팅등이 나열되어 있다. 이미 많은 기업이 참여하고 있는중이며 그들 기업이 조금씩 인공지능을 사용한 제품을 제공해가는 형태로 진화해 갈것이다.


세번째표는 각 산업을 한번더 생각하자이다. 많은 산업분야에서 조금씩 빅데이터 활용이 진행된 후 인공지능의 활용도 시작될 것이다. 그러나 인공지능의 활용 그자체가 경쟁에서 결정적 우위에연결되는 일은 적고 고객에 제공하는 제공 하는 상품 서비스의 부가가치 구축, 조직의 구축, 거래처와의 관계 구출, 사업의 오퍼레이션 효율화 같은 요소가 중요한 포인트를 차지하는 것에는 변함이 없을 것이다. 예를들어 인공지능을 사용하면, 고객 대응할때 고객 한사람 한사람 따라서 섬세하고 치밀하게 바꾸어 가는것도 가능하지만, 이러한 변화는 정보시스템 혹은 데이터 분석시스템을 제공하는 기업이 서서히 인공지능을 이용한 서비스를 제공함으로 실현된다고 생각한다. 혹은 정보 시스템보다도 더 경영에 가까운 곳에서 빅데이터의 분석, 그위에 인공지능과 발전해나가는 컨설팅 비즈니스도 충분히 있을수있다.


네번째로 인간과 인간 인간과 기계의 상호작용을 생각하자라는 그룹이다. 


다섯번째는 인고지능을 보조하는 기술로는 예를들면 데이터의 사전처리를 하는 기술제공, 데이터를 모으는 기술 제공등으로 이른바 골드러시 시대에 청바지를파는것과 같은 기술이다. 이중에서 우릭 가장이해하기 쉽고 변화가 급속도로 일어나는 분야는 바로 각 산업을 한번더 생각하자이다. 그룹안의 이료 법무 재무일것이다.

전문가를 대체하는 경제적인 장점이 많고 많은 사람이 그 서비스를 잠재적으로 필요로 하고 있기 때문이다. 각각의 전문 분야에 대해서 대답해주는 IBM의 왓슨과 같은 시스템이 완성도 높은 형태로 마켓에 투입되면 단숨에 실용단계로 오를 가능성이 있다. 그때는 기존의 업계구조를 크게 변화시켜버릴지도 모른다.




지식의 전이 사진 올리기




'Artificial Intelligence > Deep Learning' 카테고리의 다른 글

유용한 사이트  (0) 2016.04.11
인공지능 신경망  (0) 2016.02.24
차근차근 확장되는 인공지능의 영향  (0) 2016.01.24
딥러닝과 산업효과  (0) 2016.01.24
딥러닝에서의 기술발전  (0) 2016.01.22
Posted by MIDDLE
,

물론 이러한 변화가 하루아침에 일어나는 것은 아닌다. 먼저 연구개발이 선행되고 처음에는 어떤일이 가능하게 되었다는 뉴스가 세상에 퍼지고, 이어서 조금 늦게 비즈니스로 전개되는 것이다.

예를 들어 인공지능에 의한 방범과 가미로 카메라에 비치는 개인을 식별할 수 있게 될지도 모른다. 이미 일부는 실현되고 있지만 방범은 사회적인 의견일치를 보기쉬우므로 먼저 기업이 그것을 도입하고, 학교도 도입하는 형태로 방범카메라에 의한감시 네트워크가 완성되어 갈가능성은 충분히 있다. 이러한 감시 네트워크와 과거 범죄 이력의 데이터베이스가 세트가 되면 범죄예방도 될것이고, 범죄가 일어났을때 범인 체포와 연결될 수 있는 정보를 가져올 가능성이 높아지며 치안도 좋아 질것이다.

하지만 편리성이 늘어나는 반면에 작정하면 얼마든지 개인의 행동이력을 더듬에 찾아낼수있기 때문에 프라이버시와의 균형문제도 생길것이다.



'Artificial Intelligence > Deep Learning' 카테고리의 다른 글

인공지능 신경망  (0) 2016.02.24
인공지능이 낳은 신규 사업  (0) 2016.01.24
딥러닝과 산업효과  (0) 2016.01.24
딥러닝에서의 기술발전  (0) 2016.01.22
딥러닝 다계층  (0) 2016.01.22
Posted by MIDDLE
,