사람의 뉴런

 

  • 두뇌의 가장 작은 정보처리 단위
  • 구조
    • 세포체는 간단한 연산
    • 수상돌기는 신호 수신
    • 축삭은 처리 결과 전송
  • 사람은 10^11개 정도 뉴런을 가지며, 각 뉴런은 약 1000개 다른 뉴런과 연결돼 10^14개 연결을 갖는다.

 

컴퓨터가 사람 뇌의 정보처리를 모방해 지능적 행위를 할 수 있는 인공지능 도전

-> 뉴런의 동작 이해를 모방한 초기 인공 신경망(artificial neural network, ANN) 연구 시작

-> 퍼셉트론 고안

 

사람 신경망 인공 신경망
세포체 노드
수상돌기 입력
축삭 출력
시냅스 가중치

신경망의 종류

 

인공신경망은 다양한 모델이 존재

 

  • 전방(forward) 신경망과 순환(recurrent) 신경망
  • 얕은(shallow) 신경망과 깊은(deep) 신경망

 

결정론(deterministic) 신경망과 확률론적(stochastic) 신경망 비교

  • 결정론 신경망
    • 모델의 매개변수와 조건에 의해 출력이 완전히 결정되는 신경망
  • 확률론적 신경망
    • 고유의 임의성을 갖고 매개변수와 조건이 같더라도 다른 출력을 가지는 신경망

퍼셉트론

 

  • 구조 : 절(node), 가중치(weight), 층(layer)과 같은 새로운 개념의 구조 도입
  • 제시된 퍼셉트론 구조의 학습 알고리즘 제안
  • 원시적 신경망이나, 깊은 인공신경망을 포함한 현대 인공신경망의 토대
    • 깊은 인공신경망은 퍼셉트론의 병렬 배치를 순차적으로 구조로 결합함
  • 현대 인공신경망의 중요 구성 요소가 된다.

퍼셉트론의 구조

 

  • 입력
    • i번째 노드는 특징 벡터의 요소 x=(x_1,x_2,...,x_d)^T의 요소 x_i를 담당
    • 항상 1이 입력되는 편향(bias) 노드 포함
  • 입력과 출력 사이 연산하는 구조를 가진다.
    • i번째 입력 노드와 출력 노드를 연결하는 변(edge)는 가중치 w_i를 갖는다.
    • 퍼셉트론은 단일 층 구조라 간주.
  • 출력
    • 한 개의 노드에 의해 수치(+1 혹은 -1) 출력 -> 활성 함수를 step function을 사용할 때

퍼셉트론의 동작

 

  • 선형 연산 -> 비선형 연산
    • 선형 : 입력(특징)값과 가중치를 곱하고 모두 더해 s를 구함
    • 비선형 : 활성 함수 τ 적용
      • 활성함수로 계단함수를 사용하면 출력이 +1 또는 -1 출력
  • 수식
    • y= τ(s)
    • 이 때 s = sigma^d_(i=1)w_ix_i, τ(s)={1 (s≥0), -1 (s<0)}
  • 퍼셉트론의 동작을 식으로 작성하면 다음과 같다.
    • y = τ(w^Tx) (x는 엄밀히 따지면 d+1일 것이다. 여기서 +1은 편향 값.

퍼셉트론의 학습

 

  • 분류기 학습 과정
    1. 과업 정의와 분류 과정의 수학적 정의 (가설 설정)
    2. 해당 분류기의 목적함수 J(Θ) 정의
    3. J(Θ)를 최소화하는 Θ를찾기 위한 최적화 방법 수행
  • 목적함수 정의 (1단계 + 2단계)
    • 퍼셉트론의 매개변수를 w = (w_0, w_1, ..., w_d)^T라 표기하면, 매개변수 집합은 Θ={w} 표기
    • 목적함수를 J(Θ) 또는 J(w)로 표기
    • 퍼셉트론 목적함수 상세 조건
      • J(w)≥0이다.
      • w가 최적 즉, 모든 샘플을 맞히면 J(w)=0이다.
      • 틀리는 샘플이 많은 w일수록 J(w)는 큰 값을 갖는다.
  • 목적함수 상세 설계
    • Y는 w가 틀리는 샘플의 집합
    • 위 식은 세 가지 조건을 만족하므로 퍼셉트론 목적함수로 적합
      • 임의의 샘플 x_k가 Y에 속하면(오분류됐을 때) 퍼셉트론의 예측 값 w^Tx_k와 실제 값 y_k는 부호가 다르다 -> -y_k(w^Tx_k)는 항상 양수를 가짐 : 만족 (조건 1 만족)
      • Y가 공집합일 때 (퍼셉트론이 모든 샘플을 맞출 때) , J(w)=0 : 만족 (조건 2 만족)
      • Y가 클수록 (틀린 샘플이 많을수록) J(w)는 큰 값을 가짐 : 만족 (조건 3 만족)
  • 경사하강법gradient descent
    • 최소 J(Θ) 기울기를 이용해 반복 탐색하여 극값을 찾는다.
    • 경사도 계산
      • 일반화된 가중치 갱신 규칙 Θ=Θg를 적용하려면 경사도 g가 필요
      • J(w)를 편미분하면
      • 델타 규칙 (퍼셉트론 학습 방법)
  • 퍼셉트론 학습 알고리즘 (확률론적stochastic 형태)
    1. 난수를 생성하여 초기해 w 설정
    2. repeat
    3.     Χ의 샘플 순서를 섞는다.
    4.     quit = ture
    5.     for j = 1 to n
    6.         y = τ(w^Tx_j)
    7.         if(y≠y_j)
    8.             quit = false
    9.             for i = 0 to d
    10.                 w_i = w_i + ρy_jx_ji
    11. until(quit)
    12. what = w
  • 퍼셉트론 학습 알고리즘 (무리batch 형태)
    1. 난수를 생성해 초기해 w 설정
    2. repeat
    3.     Y = 0 // 틀린 샘플 집합
    4.     for j = 1 to n
    5.         y = τ(w^Tx_j)
    6.         if(y≠y_j) Y = Y∪x_j
    7.     if(Y≠0)
    8.         for i=0 to d
    9.             w_i = w_i + ρ(sigma(y_kx_ki)_x_k)
    10. until (Y=0)
    11. what = w

 

 

 

 

'AI > KDT 인공지능' 카테고리의 다른 글

[06/23] 다층 퍼셉트론  (0) 2021.06.23
[06/22] 라이브 세션  (0) 2021.06.22
[06/16] 인공지능과 기계학습  (0) 2021.06.16
[06/15] 분류문제 실습  (0) 2021.06.15
오토인코더, t-SNE  (0) 2021.06.14

+ Recent posts