제주 탈출 일지

인공지능 이론(3주차) - 신경망 학습 이론 Ⅰ 본문

인공지능

인공지능 이론(3주차) - 신경망 학습 이론 Ⅰ

귀건 2020. 11. 7. 04:03
728x90
반응형

인공신경망(人工神經網, 영어: artificial neural network, ANN)은 기계학습과 인지과학에서 생물학의 신경망(동물의 중추신경계중 특히 뇌)에서 영감을 얻은 통계학적 학습 알고리즘이다.

- 위키피디아

 

인공신경망 개요

딥러닝에서의 인공신경망은 그림과 같은 요소들로 되어 있다!

인공신경망 형태

데이터를 입력(input)에 넣게 되면 어떤 가중치를 곱하여 모두 더하고, 그 값을 활성화 함수에 넣게 된다. 활성화 함수에서 나온 출력이 Output으로 나오고 있는 것을 볼 수 있다. 인공신경망은 이 노드를 하나의 층이라고 부른다.

 

다음 그림에서 입력층은 단순히 데이터를 넣는 것을 입력층이라고 표현한 것이기 때문에, 히든레이어 2층 그리고 출력층으로 이루어진 3층 신경망이다. 입력층부터 시작해서 화살표들이 뻗어나가고, 출력층까지 도달하는 것을 볼 수 있다. 이 화살표 각각이 가중치 w들이고, 이 가중치 * 입력 값(정확히는 + bias)이 다음 노드에 전해진다고 할 수 있다. 

3층 신경망

활성화 함수

입력 신호의 총합을 출력 신호로 변환하는 함수. 네트워크에 비선형성을 추가하기 위해 사용한다.

- 선형함수를 이용하면 신경망의 층을 깊게 하는 의미가 없어진다!

 

활성화 함수로 사용하는 함수1 - 시그모이드

시그모이드는 S자 모양 함수이다. 입력이 작다면 출력은 0에 가깝고, 입력이 커지면 출력은 1에 가까워 진다. 이 함수는 기울기 소멸 문제와 지수함수로 계산이 복잡하기 때문에 활성화 함수로는 현재 거의 사용하지 않는다.

시그모이드 함수

활성화 함수로 사용하는 함수2 - ReLU

입력이 0을 넘으면 그 입력을 그대로 출력하고, 0이하이면 0을 출력한다. 최근 신경망에서 가장 많이 쓰이는 활성화 함수이고, 계산이 매우 효율적이다.

ReLU 함수

신경망 표현

다음 그림을 보면 가중치를 읽는 방법이 나와있다. 어느 뉴런에서 시작되어 어느 뉴런으로 향하는 가, 그리고 어느 층에 속해 있는 가를 적어주는 표기 방법이다.

표기 방법

다음 그림에서 1층 첫번쨰 노드는 A = XW + B로 정의할 수 있다. 여기서 b는 bias 값인데, 활성화 함수의 출력을 원하는 형태로 만들기 위해 더해주게 된다. 다음 링크를 참고하자.

chanhyeonglee.tistory.com/5

 

인공신경망에서 바이어스(Bias)의 역할

바이어스는 학습에 중요한 역할을 한다. 바이어스를 통해 액티베이션 함수를 좌우로 움직일 수 있어, 더욱 좋은 학습을 시킬 수 있다. 바이어스가 없는 간단한 예를 보자. 하나의 입력(x)에 가중

chanhyeonglee.tistory.com

 

출력층 설계

일반적으로 인공신경망을 활용하면 분류에 대한 문제를 해결하게 된다. 여기서 2개의 클래스로 분류하는 문제는 시그모이드, 다중 클래스는 소프트맥스 함수를 사용하게 된다.

 

소프트맥스 함수

소프트맥스의 함수 출력은 0에서 1.0 사이 실수이다. 소프트맥스 함수의 출력 총합은 1이다. 이를 통해 소프트맥스 함수의 출력을 확률로 해석 가능하다. 정확한 설명은 다음 링크를 참고하면 좋을 것 같다.

medium.com/@ericabae/ml-softmax-%EC%86%8C%ED%94%84%ED%8A%B8%EB%A7%A5%EC%8A%A4-%ED%95%A8%EC%88%98-7a8c0362b2a3

 

[ML]Softmax 소프트맥스 함수

소프트맥스란?

medium.com

위와 같은 손글씨를 판별하고 싶을 때, 숫자는 0-9까지 이므로 10개의 출력층이 필요하고, 소프트맥스 함수를 적용하여 각 출력 노드마다 0에서 1.0사이의 값을 얻게 된다. 이 중 가장 값이 큰 노드의 값이 확률이 가장 높다고 할 수 있다.

728x90
반응형
Comments