2022-10-05 AI입문_5

2022. 10. 5. 23:40학부 강의/AI 입문

1. 인공 신경망의 뉴런 모델

 

가. 신경망

 

인간의 두뇌를 모방한 연결주의의 대표적 기술.

 

안정적인 학습 기능, 병렬 처리와 에러 감내(fault tolerance) 등의 장점.

 


나. 생물학적 신경망

 

Hebbian rule

: 두 인접 뉴런이 동시에 발화하면 연결 강도 증가.

: Fire Together Wire Together!

: 그렇지 않으면 연결강도 감소

 


다. 뉴런의 연산 모델

 

 

입력 신호가 생기면 이를 각각의 가중치와 곱한다.

 

곱한 값들을 모두 더해서 편향 값을 더해 가중 입력합 v를 구한다.

 

활성화 함수를 통해서 최종적으로 출력값을 구한다.

 

  • 편향 (bias) : 뉴런의 입력과 별도로 뉴런에 가해지는 값
  • 임계치 (threshold) = (-1)*편향

 


라. 뉴런 연산의 벡터 표현

 

입력과 가중치를 행렬로 나타낼 수 있다.

 

 

행렬의 형식으로 표현할 경우 편향을 행렬에 포함시켜서 더 간단하게 표현할 수도 있다.

 

 


마. 활성화 함수

 

뉴런의 정보처리 방식을 결정한다.

 

즉 입력가중치합을 어떤 방식으로 처리해서 응용에 사용할 값으로 변환한다고 보자.

 

활성화 함수의 출력 유형은 크게는 3가지다.

  1. 활성화 여부
  2. 활성화 정도
  3. 활성화 확률

 

출력 유형이 3가지고 실제 사용되는 활성화 함수의 종류는 더 많다.

 


(1) 선형 함수 (Linear function)

 

y = σ(x) = x

 

선형 함수는 가중 입력합 v를 그대로 출력 y로 내보낸다.

 

 


(2) Piecewise-linear function

 

y = σ(x) = …

if x≥1 then σ(x) = 1,

if -1≤x≤1 then σ(x) = x,

if -1≥x then σ(x) = -1이다.

 

Squashing 개념을 도입했다. (squashing : 찌그러진)

 

일정 이상 입력값이 증가 혹은 감소하면 더 이상 출력 값이 증가 혹은 감소하지 않는다.

 

 


(3) 시그넘 함수

 

계단 모양의 함수다.

 

y = sig(x) = …

if x>0 then sig(x) = 1,

if x=0 then sig(x) = 0,

if x<0 then sig(x) = -1이다.

 

 


(4) Rectified Linear function

 

ReLU 또는 Linear threshold라고도 한다.

 

y = σ(x) = …

if x≥0 then σ(x) = x,

if x<0 then σ(x) = 0이다.

 

출처 : https://machinelearningmastery.com/rectified-linear-activation-function-for-deep-learning-neural-networks/

 

LeakyReLU와 같은 여러 가지 변형이 존재한다.

 

 


(5) 로지스틱 시그모이드 함수

 

 

[0, 1] 범위의 출력 값을 갖는 부드러운 곡선 모양의 함수.

 

 

출력 값이 확률인 경우에도 사용가능 하다.

 

미분이 가능해서 미분을 필요로 하는 역전파(backpropagation)를 사용할 수 있다.

 


(6) Hyperbolic tangent function

 

tangent sigmoid (tan-sig)함수라고도 함.

 

[-1, 1] 범위의 출력 값을 갖는 부드러운 곡선 모양의 함수

 

 

로지스틱 시그모이드 함수와 달리 입력 부호를 유지한다.

 


2. 뉴런 기반 신경망의 구성

 

 

뉴런 → 계층 → 망

 

신경망은 다수의 계층이 횡적으로 나열된 형태다.

 


가. 연결 방식 분류

 

계층 간의 가중치 연결 방식의 종류에 따라서 크게 2가지로 나뉜다.

 

 

일반적으로 완전 연결을 사용한다.

 

부분 연결은 CNN 등에서 사용된다.

 


나. 신경만의 구조 분류

 

  • 연결 방향에 따른 분류

 

  • 계층의 개수에 따른 분류

 

계층의 개수가 증가하면 학습 데이터 규모 및 학습용이성 측면에서 어려움.

 


다. 신경망의 학습

 

기본적으로 인공 신경망에서 ‘학습’이라는 것은 가중치를 적합한 값으로 변경하는 작업이라 할 수 있다.

 

많은 신경망들은 백프로퍼게이션(Backpropagation) 알고리즘 혹은 이를 확장한 알고리즘을 사용하고 있다.

 

  • Backpropagation 알고리즘 : 추론 후에 에러 기울기를 구한 후, 역방향으로 전파하며 계층별로 가중치를 갱신하는 방식으로 작동.

 


3. 단층 신경망 : 퍼셉트론

 

퍼셉트론의 구조와 동작

 

입력층과 출력층만으로 구성된다.

 

입력층은 뉴런이 아니기에 출력층에 위치한 하나의 뉴런으로 구성된다.

 

일종의 매컬릭-피츠 모델(McCulloch-Pitts model)이다.

 

활성화 함수로 시그넘 함수를 수정해서 사용한다.

 

y = sig(x) = …

if x≥0 then sig(x) = 1,

if x<0 then sig(x) = -1이다.

 

일반적인 시그넘 함수처럼 x가 0인 경우에 y=0이 아니다.

 

 


결정 경계 (Decision boundary)

 

 

4 변수 입력부턴 하이퍼플레인(hyperplain)이라고 한다.

 

점, 직선, 평면, 하이퍼플레인으로 영역을 양분한다.

 

 


선형 분리성 (Linearly separable)

 

선형 구분 가능(Linearly separable)은 다차원 공간에 분포한 두 집단이 하나의 다차원 평면(hyper plane)으로 구분 가능함을 의미한다.

 

퍼셉트론은 선형 분리(Linearly separable) 가능한 데이터만 분류 가능하다.

 

무슨 소리냐… 결정 경계가 직선, 면, 하이퍼플레인 즉 선형 함수이기 때문이다.

 

직선, 면, 하이퍼플레인을 그어 데이터를 분류할 수 없으면 안 된다.

 

 

퍼셉트론의 이러한 특성으로 인해 퍼셉트론은 XOR 연산을 구현할 수 없다.

 

출처 : https://ko.wikipedia.org/wiki/선형_구분_가능

 


퍼셉트론 학습 알고리즘

 

학습 데이터는 다수의 학습 샘플로 구성된다.

 

각 학습 샘플은 입력과 정답의 쌍으로 구성된다.

 

각 입력에 대한 산출 값과 정답을 비교해서 에러를 정정한다. (=가중치와 임계치를 수정한다)

 


퍼셉트론 수렴성

 

퍼셉트론 학습은 선형 분리 가능한 데이터에 대해선 무조건! 수렴한다.

 

이는 그동안 개발된 신경망들 중 최초다.

 

퍼셉트론 학습 알고리즘의 완전성을 나타낸다.

 

선형 분리가 불가능한 경우 발산(Divergence) 혹은 진동(Oscilation)된다.

 

 

퍼셉트론은 충분한 데이터만 주어진다면 어떤 선형 분리 가능 데이터든 학습할 수 있다.

 

하지만 문제는 선형 분리 가능 함수를 적용할 수 있는 경우가 적다는 것이다.

 


'학부 강의 > AI 입문' 카테고리의 다른 글

2022-11-05 AI입문_7  (0) 2022.11.06
2022-10-13 AI입문_6  (0) 2022.10.13
2022-09-28 AI입문_4  (0) 2022.09.29
2022-09-20 AI입문_3  (1) 2022.09.20
2022-09-14 AI입문_2  (0) 2022.09.15