본문 바로가기
Deep Learning/Carnegie Mellon University Deeplearning

Lecture 1. Neural Networks

by 대소기 2022. 2. 26.

Early models of human cognition

* 플라톤, 흄, 파블로브 드은 인간이 association을 통해 학습을 한다고 주장하였다.

* 관련있는 현상들을 연관지음으로서 인간은 학습하게 된다.

* 그러핟면 이렇게 학습된 내용들을 뇌에 어떤 방식으로 저장하게 될까? 바로 neuron간의 connection을 통해서이다.

 

 

Connectionism

 

Alexander Bain(1873)

* Alexander Bain은 1873년에 The information is in the connections 논문을 발표하였다.

* Bain의 아이디어는 이러하다.

1) 뉴런들은 서로를 자극하며 여러가지 input들의 조합을 통해 여러가지 output을 도출해낼 수 있다. 이 때 강도(intensity)에 따라 여러 가지 output이 도출될 수 있다.

2) 만약 두 impression(두 객체, 현상, 감정 등등)이 연관된다고 판단되면 신경의 흐름은 새로운 bridge, continuous place를 찾게 되는데, 이 메커니즘을 통해 기억이 생성된다.

 

 

 

Connectionist Machines

* 1873년에 Bain의 주장과, 1876년의 Ferrier의 주장에 따르면 인간의 두뇌는 connectionist machine이다. 그리고 이 connectionist machine 구조를 띠는 것이 바로 Network nework이다. 

* neural network는 processing unitmemory분리되어 있는 폰 노이만 구조의 머신과는 달리, 비선형 processing unit들로 구성되어 있고 메모리 또한 이 unit들의 연결로서 구현되어 있다.

 

 

 

Turing's Connectionist Machines

* Alan Turing이 주장한 conncetionist machines는 connectionist model이 모여 basic model이 되는 구조이다.

 

1) Basic model

- NAND gates로 이뤄진 random network, learning machanism 없음.

 

 

2) Connectionist model

- 두 unit 사이에는 학습 가능한 modifier가 존재함.

- modifier에 초록색 선이 활성화 되면 input signal이 지나갈 수 있고, 빨강 선이 활성화되면 output은 input signal에 상관 없이 1로 고정된다.

- 이를 통해 모든 knowledge는 connections에 저장된다.

 

 

 

McCulloch and Pitts model

* Excitatory synapse : 초록색으로 표시되었으며, 두 개의 weighted input을 neuron에게 전달한다.

* Inhibitory synapse : 빨간색으로 표시되었으며, excitatory synapse의 input에 상관 없이 뉴런의 활성화 여부를 결정한다.

* McCulloch and Pitts model을 사용하면 boolean gate를 구성하는 것이 가능해진다. 뉴런 안에 써 있는 숫자는 threshold를 의미한다.

* 예를 들어 두 번째 모델은 or gate이다. 세 번째 모델은 and gate이다.

* 이렇게 생성되는 boolean gate를 통해 특정 boolean function을 구현하는 것이 가능하다.

 

 

 

Donald Hebb

* donald hebb은 인간의 뇌에서 특정 뉴런들간의 연결이 반복될수록 특정 뉴런들 간의 연결강도가 증가한다는 것을 바탕으로 모델을 구성하였다.

* 위 수식에서 $W_{xy}$는 뉴런 x와 뉴런 y의 연결 가중치(강도)를 뜻한다.

* 이미 ML, DL을 접해본 사람이라면 위 수식이 익숙한 형태일텐데 그 유명한 gradient descent algorithm의 토대가 되는 수식이기 때문이다.

 

Hebbian learning의 단점

* competition의 개념이 적용되지 않음

* weight이 감소하지 않고 증가만 한다는 단점. 뉴런의 강도가 증가하기만 하면 특정 뉴런들간의 강도만 비정상적으로 커져 나머지 뉴런들간의 정보 교환이 일어나지 않을 수 있음.

* learning의 boundary가 정해지지 않음. 어느 순간에 멈춰야 한다는 제한상황이 없음.

* 이러한 많은 단점들로 인해 hebb의 모델을 그대로 쓰진 않고 추후에 수정된 많은 모델들이 등장하였다.

 

 

 

 

 

Perceptron

* Frank Rosenblatt은 1958년에 perceptron이라는 개념을 제시했다.

* 각 input들의 weighted sum이 특정 threshold를 넘으면 1을 출력하고 반대의 경우엔 0을 출력한다.

Perceptron learning algorithm

* $d(x)$는 input x에 대한 desired output(Ground truth)이다.

* $y(x)$는 input x에 대한 실제 출력값이다.

Percetpron의 한계

* 위와 같이 boolean gate를 구성할 순 있지만....

* xor gate는 구성하는 것이 불가능하다. 

* 그렇다면 여러 개의 perceptron을 사용하는 것은 어떨까? 이런 관점에서 나온 것이 Multi-layer perceptron이다.

 

 

 

MLP(Multi-layer Perceptron)

* Minsky, Papert가 Rosenblatt의 perceptron의 한계(xor구현 불가)를 지적하며 1968년에 제시한 모델이다.

* perceptron을 여러 개 쌓아 만든 구조로 hidden layer를 가지고 있다.

* 여러 개의 perceptron을 통해 위와 같은 복잡한 boolean function도 구현 가능하다.

Perceptron with real inputs

* 지금까지 봤던 MLP는 기본적으로 boolean 값을 input으로 받았다.

* 하지만 우리의 뇌는 boolean값만 입력받지 않고, real value를 input으로 받는다.

* real value를 input으로 하는 MLP에 대해 살펴보자.

* 위 식에서 threshold T를 -b (bias)로 바꾸고, output y를 case에 따라 표현하는 것이 아니라, 하나의 수식으로서 표현하게 되면 아래와 같이 바꿀 수 있다.