[ML] Neural Networks

Minsol·2024년 9월 25일

👽ML

목록 보기
5/8

Neural Network Model

basic building block: artificial neuron(인공 뉴런)

  • bias : 각 뉴런에 추가되는 값 (ex. 사진에서는 1)
    neural network가 학습하는 동안 weight와 함께 학습되며, activation function이 적용되기 전에 입력을 조정하는 역할을 함

Biological Neurons(생물학적 뉴런)

  • Dendrite: 다른 뉴런으로부터 신호 수신 (input 받는 곳)
  • Soma: 정보 처리 (like CPU)
  • Axon: ouput 전송하는 곳 (like cable)
  • Synapse: 다른 뉴런과의 연결 지점
    (이후, 또다른 dendrite로 output이 들어가게 됨)

McCulloch-Pitts Neuron "unit" (수학적 모델)

  • neuron의 첫 번째 계산 모델
  • output == input의 "squashed"(압축된) 선형 함수
    (다양한 input이 [-1,1]로 bound되기 때문)
  • 과정: bias를 포함한 input들은 weight와 곱해져서 합해짐 -> 활성화 함수를 지나 [-1,1]로 output이 나옴

activation function

  • bias의 역할: bias의 값에 따라 한 output이 도출될 확률을 높임 -> 입력을 조정하는 역할 => 즉, bias가 threshold의 위치를 이동시킴

Network Structures

Feed-forward networks

  • 단일층(single-layer) 퍼셉트론 or 다층(multi-layer) 퍼셉트론
  • 함수를 구현(implement)하며 내부(internal state) X
  • logistic regression 함수
  • notaion: a5 => act- 활성화 함수때문에 이렇게 표시, W3,5 => previous 3에서 5로 보내지는 경우

Recurrent networks

  • directed cycles with delays를 가짐(자기자신에게 돌아오는 재귀적인(recursive) cycle)
  • 내부 O
  • tanh 함수
  • ex. 이 문장을 이용해서 다음 문장을 해석할 때

Perceptrons

(single-layer) 퍼셉트론

  • unit들이 활성화 함수로 step/sigmoid 함수를 사용함
  • output unit은 모두 개별적으로(separately) 작동함 (weight 공유 없음)
  • weight를 조정하면(그림에서 두꺼운 선이 weight 大, 얇은 선이 weight 小) cliff(경계)의 위치(location), 방향(orientation), 가파름(steepness)이 모두 변화함

Perceptron learning

  • 퍼셉트론이 큰 파장(stir)이었던 이유: 퍼셉트론으로 함수를 표현할 수 있다면 충분한 훈련 예제가 주어졌을 때 100% 정확하게 학습할 수 있어서
  • 문제점 : 퍼셉트론은 오로지 linearly-separable 함수만 표현 가능
    but, 대부분의 함수들은 비선형으로 계산된다
    => 대표적인 경우(비선형으로만 표현): XOR
  • 2-dimensional space인 경우
  • 3-dimensional space인 경우: Minority function
    - 0,1중 input에서 소수인 값을 반환하는 것

(multilayer) 퍼셉트론

  • 그래프의 root == bottom, 그래프의 leaf == top
  • input unit들의 layer는 layer 수로 세지 않음 -> ex. 따라서, 사진은 hidden unit 1개/output unit 1개로 two-layer net임
  • layer는 fully connected (hidden unit의 수는 수작업으로(by hand) 결정됨)

    Expressiveness of MLPs (MLP의 표현력)

  • layer가 많을수록 (==복잡할수록) 표현력이 좋은 모델을 만들 수 있음
  • x1,x2 두개의 input으로 output을 나타낸 그래프
  • 두 개의 반대방향 threshold 함수를 결합하여 ridge를 만든다
  • 두 개의 수직인(perpendicular) ridge를 결합하여 bump를 만든다
  • 다양한 크기와 위치의 bump를 더하여 어떤 표면이든 맞출 수 있다
  • 증명에는 지수적으로(exponentially) 많은 hidden unit이 필요하다

Learning with NNs (수도코드)

    1. 새로운 data(e)가 들어와서 NN에서 나오는 output (O)
    1. e로부터 나온 observed output (actual measurement)
    1. O,T의 차이에 따라 weight를 계속해서 업데이트
profile
👀

0개의 댓글