"전방전달신경망"의 두 판 사이의 차이
잔글 |
|||
1번째 줄: | 1번째 줄: | ||
[[파일:전방전달신경망.png|300픽셀|썸네일|'''전방전달신경망''']] | [[파일:전방전달신경망.png|300픽셀|썸네일|'''전방전달신경망''']] | ||
− | '''전방전달신경망'''(Feedforward Neural Network, FFNN)은 노드 사이의 연결이 순환을 형성하지 않는 [[인공신경망]]이다. 신경망 정보가 입력 노드에서 은닉 노드를 거쳐 출력 노드까지 전달 되며 순환 경로가 존재하지 않는 그래프를 형성한다. 다양한 방법의 구조가 존재하는데 이진 구조, [[퍼셉트론]], 시그모이드 등 여러가지 방법으로 구성할 수 있다. | + | '''전방전달신경망'''(Feedforward Neural Network, FFNN)은 노드 사이의 연결이 순환을 형성하지 않는 [[인공신경망]]이다. 신경망 정보가 입력 노드에서 은닉 노드를 거쳐 출력 노드까지 전달 되며 순환 경로가 존재하지 않는 그래프를 형성한다. 다양한 방법의 구조가 존재하는데 이진 구조, [[퍼셉트론]], 시그모이드 등 여러가지 방법으로 구성할 수 있다. 영어 약자로 '''FFNN'''(에프에프엔엔)이라고 한다. |
== 개요 == | == 개요 == |
2020년 8월 14일 (금) 10:33 기준 최신판
전방전달신경망(Feedforward Neural Network, FFNN)은 노드 사이의 연결이 순환을 형성하지 않는 인공신경망이다. 신경망 정보가 입력 노드에서 은닉 노드를 거쳐 출력 노드까지 전달 되며 순환 경로가 존재하지 않는 그래프를 형성한다. 다양한 방법의 구조가 존재하는데 이진 구조, 퍼셉트론, 시그모이드 등 여러가지 방법으로 구성할 수 있다. 영어 약자로 FFNN(에프에프엔엔)이라고 한다.
목차
개요[편집]
전방전달신경망은 인공신경망이 고안된 최초의 가장 단순한 형태였다. 이 네트워크에서 정보는 오직 한 방향으로만 이동하며, 입력 노드로부터 숨겨진 노드를 거쳐 출력 노드로 이동한다. 네트워크에는 순환이나 루프가 없다.[1] 일반적인 전방전달신경망의 경우 입력층-은닉층-출력층을 거치는 모형 아키텍쳐를 가지고 있다. 인공신경망은 입력된 독립 변수와 종속 변수의 결합 관계를 나타내는 가중치(w) 도출을 통해 모형을 구축한다. 전방전달신경망의 학습은 가중치(w)의 반복적인 업데이트를 통하여 출력값의 에러를 최소화하는 것을 목표로 한다. 가중치(w) 업데이트는 경사하강법(gradient descent)을 이용하여 에러를 역전파(back propagation)하여 구한다. 그러나, 이 경우 기울기 소실(vanishing gradient) 문제가 발생할 수 있다.[2] 신경망 설계의 주요 예시인 전방전달신경망은 아키텍처가 제한적이다. 신호는 입력 레이어에서 추가 레이어로 이동한다. 전방전달신경망 설계의 몇 가지 예시를 살펴보면 훨씬 더 간단하다. 예를 들어, 단층퍼셉트론 모델에는 하나의 레이어만 있으며 전방향 신호가 레이어에서 개별 노드로 이동한다. 레이어가 더 많은 다층 퍼셉트론 모델도 전방향으로 이동한다. 과학자들이 최초의 인공 신경망을 고안한 이래로 기술 세계는 보다 정교한 모델을 구축하는 데 모든 종류의 진전을 이루었다. 순환 신경망 및 루프 또는 순환을 포함하는 기타 설계뿐만 아니라, 기계 학습 시스템이 시스템을 통해 데이터를 다시 전송하여 기본적으로 최적화하는 역전파와 관련된 모델이 발견되었다. 전방전달신경망은 이러한 유형의 디자인을 포함하지 않으므로 인공신경망을 처음으로 학습하는 데 적합한 고유한 유형의 시스템이다.[3]
구조[편집]
이 네트워크에서 가장 왼쪽 층을 입력층이라고 하며, 그 층 내의 뉴런을 입력 뉴런이라고 한다. 가장 오른쪽 또는 출력 층은 출력 뉴런을 포함하며, 이 경우처럼 단일 출력 뉴런을 포함한다. 중간 층은 숨겨진 층이라고 불리는데, 이 층의 뉴런은 입력도 출력도 아니기 때문이다. 그림 에서 나타내듯이 층의 뉴런의 무게를 나타낸다. 는 층의 뉴런에서 층의 뉴런으로 연결하기 위한 무게를 나타낸다. 뉴런의 편향에 을 사용한다. 는 활성화 기능이고 이러한 목적을 위해 시그모이드를 사용하고 있다. 는 출력 기능이다. 숨겨진 계층이 있는 전방전달신경망의 흥미로운 점은 보편적인 근사 체계를 제공한다는 것이다. 특히 보편적 근사치 정리는 선형 출력 계층과 적어도 하나의 스퀴싱 활성화 함수(Sigmoid activation function)가 있는 전방전달신경망은 하나의 스퀴싱 활성화 함수(예: Sigmoid activation function function)에서 다른 w까지 모든 보렐 측정 가능한 함수를 근사할 수 있다고 기술하고 있다. 네트워크에 충분한 숨겨진 단위가 주어진다면 원하는 0이 아닌 양의 오류이다. 보편적 근사치 정리는 우리가 원하는 어느 정도의 정확도를 달성할 수 있을 정도로 큰 네트워크가 존재한다고 말하지만, 이론적으로는 이 네트워크가 얼마나 클지는 말하지 않는다.
예를 들어, 위의 그림은 절대값 정정을 가진 네트워크가 그 숨겨진 단위의 입력과 관련하여 어떤 숨겨진 단위 위에서 계산된 기능의 미러 이미지를 어떻게 생성하는지 보여 준다. 각 숨겨진 단위는 절대값 비선형성의 양쪽에서 미러 반응을 생성하기 위해 입력 공간을 접는 위치를 지정한다. 이러한 접이식 연산을 구성함으로써, 우리는 모든 종류의 정규 패턴을 포착할 수 있는 조각 모양의 선형 영역을 기하급수적으로 많이 얻을 수 있다.[4]
종류[편집]
단층퍼셉트론[편집]
가장 단순한 종류의 신경망은 출력 노드의 단일 계층으로 구성된 단층퍼셉트론(Single-layer Perceptron)이다. 입력은 일련의 중량을 통해 출력에 직접 공급된다. 가중치와 입력물의 산출물의 합은 각 노드에서 계산되며, 값이 어느 정도 임계치(일반적으로 0)를 넘으면 뉴런이 발화하여 활성화 값(일반적으로 1)을 취하고, 그렇지 않으면 비활성화 값(일반적으로 -1)을 취한다. 이와 같은 활성화 기능을 가진 뉴런을 인공 뉴런 또는 선형 임계 단위라고도 한다. 문헌에서 퍼셉트론(Perceptron)이라는 용어는 종종 이러한 단위들 중 하나로 구성된 네트워크를 가리킨다. 비슷한 뉴런은 1940년대에 워렌 맥컬로치와 월터 피츠에 의해 묘사되었다. 단층퍼셉트론은 임계값이 둘 사이에 있는 한 활성화 및 비활성화 상태에 대한 값을 사용하여 수용자를 만들 수 있다. 퍼셉트론즈는 보통 델타 규칙이라고 불리는 간단한 학습 알고리즘에 의해 훈련될 수 있다. 계산된 출력 데이터와 샘플 출력 데이터 사이의 오차를 계산하고 이를 사용하여 가중치에 대한 조정을 만들어 구배 강하 형태를 구현한다.\
단층퍼셉트론은 선형적으로 분리할 수 있는 패턴만 학습할 수 있다. 1969년 퍼셉트론즈(Perceptrons)라는 제목의 유명한 모노그래프에서 마빈 민스키(Marvin Minsky)와 시무어 파퍼트(Symour Papert)는 단층퍼셉트론 네트워크가 XOR 기능을 배우는 것은 불가능하다는 것을 보여 주었다. 하지만 다층퍼셉트론은 어떤 가능성 있는 패턴을 생산할 수 있는 것으로 알려져 있다.
단일 임계값 단위는 계산 능력이 상당히 제한되지만, 병렬 임계값 단위의 네트워크는 실제 숫자의 콤팩트한 간격에서 간격[-1,1]에 이르는 모든 연속 함수에 근사치를 할 수 있다는 것이 입증되었다. 이 결과는 피터 아우어(Peter Aue), 하랄드 버그스티너(Harald Burgsteiner), 볼프강 마아스(Wolfgang Maass)가 기록한 '단일층의 지각자로 구성된 매우 단순한 보편적 근사치를 위한 학습 규칙'에서 찾을 수 있다.
단층 신경망은 단계적 기능 대신 연속적인 출력을 계산할 수 있다. 일반적인 선택은 이른바 로지스틱 함수다.
이 선택으로, 단층 네트워크는 통계적 모델에 널리 사용되는 논리적 회귀 모델과 동일하다. 논리 함수는 S자형 그래프가 그리스 문자 시그마의 최종 소문자 소문자 시그마와 비슷하기 때문에 시그모이드 함수라고 불리는 함수 계열 중 하나이다. 연속적인 파생상품이 있어 백프로포메이션에서 사용할 수 있다. 이 함수는 파생상품이 쉽게 계산되기 때문에 선호된다.
가 위의 미분 방정식을 만족한다는 사실은 체인 룰을 적용하면 쉽게 알 수 있다. 단층 신경망 활성화 기능이 Mod1이라면 이 네트워크는 정확히 하나의 뉴런으로 XOR 문제를 해결할 수 있다.[1]
다층퍼셉트론[편집]
다층퍼셉트론은 입력층과 출력층 사이에 하나 이상의 중간층이 존재하는 신경망이다. 네트워크는 입력층, 은닉층, 출력층 방향으로 연결되어 있고, 각 층내의 연결과 출력층에서 입력층으로 직접적 연결이 없다. 이를 전방향(feedforward) 네트워크 또는 순전파라고 한다. 다층퍼셉트론은 단층 퍼셉트론과 유사한 구조를 가지지만, 중간층과 각 구성단위의 입출력 특성을 비선형으로 하여 네트워크 능력을 향상시켜 퍼셉트론의 단점들을 극복했다. 각 층의 네트워크는 다수의 연산 장치로 구성되며, 대개 전방향 방식으로 상호 연결된다. 한 층에 있는 각각의 뉴런은 후속 층의 뉴런으로 연결되도록 지시한다. 많은 애플리케이션에서 이러한 네트워크의 단위는 활성화 함수로써 S자형 함수를 적용한다. 신경망에 대한 보편적 근사치 정리는 실수의 간격을 실제 숫자의 어떤 출력 간격에 매핑하는 모든 연속적 함수를 말한다. 하나의 숨겨진 층을 가진 다층 수용체에 의해 임의로 가깝게 추정될 수 있다. 이 결과는 s자형 함수와 같은 광범위한 활성화 함수를 유지한다. 다층퍼셉트론은 다양한 학습 기법을 사용하며, 가장 인기 있는 것은 역전파이다. 출력 값을 정답을 비교하여 미리 정의된 오류 기능의 값을 계산한다. 다양한 기법에 의해, 그 오류는 네트워크를 통해 다시 공급된다. 이 정보를 이용하여 알고리즘은 오류 함수의 값을 어느 정도 줄이기 위해 각 연결의 가중치를 조정한다. 충분히 많은 훈련 주기를 위해 이 과정을 반복한 후, 네트워크는 대개 계산의 오차가 작은 어떤 상태로 수렴한다. 이 경우에, 네트워크는 특정한 목표 기능을 배웠다고 말할 수 있다. 가중치를 적절하게 조정하기 위해서는 구배 강하라고 하는 비선형 최적화에 대한 일반적인 방법을 적용한다. 이를 위해 네트워크는 네트워크 가중치에 관해서 오류 함수의 파생물을 계산하고, 오류가 감소하도록 (오류 함수의 표면에서 내리막길을 가는 것) 가중치를 변경한다. 이 때문에 역전파는 활성화 기능이 다른 네트워크에서만 적용할 수 있다.
일반적으로 훈련 샘플로 사용되지 않은 샘플에서도 네트워크를 잘 수행하도록 가르치는 문제는 추가 기법이 필요한 상당히 미묘한 문제다. 이는 매우 제한된 수의 훈련 샘플만 사용할 수 있는 경우에 특히 중요하다. 문제는 네트워크가 교육 데이터에 적합하고 데이터를 생성하는 실제 통계 프로세스를 캡처하지 못하는 것이다. 컴퓨터 학습 이론은 제한된 양의 데이터에 대한 분류자 훈련과 관련이 있다. 신경망의 맥락에서 조기 중지라고 불리는 단순한 경험적 경험은 종종 네트워크가 훈련 집합에 없는 예에 잘 일반화되도록 보장한다.
역전파 알고리즘의 다른 대표적인 문제로는 수렴 속도와 오류 함수의 국소 최소값으로 끝날 가능성이 있다는 것이다. 오늘날 다층퍼셉트론에서 역전파를 많은 기계 학습 과제의 선택 도구로 만드는 실용적인 방법들이 있다. 또한 어떤 중개자에 의해 조정된 일련의 독립적인 신경망을 사용할 수 있는데, 뇌에서 일어나는 것과 유사한 행동이다. 이러한 뉴런들은 분리적으로 작용하여 큰 일을 처리할 수 있으며 결과적으로 결합될 수 있다.[1]
학습[편집]
역전파[편집]
전방전달신경망에서의 학습은 지도 학습의 영역에 속하며, 입력 및 출력 값 쌍이 여러 주기 동안 네트워크에 입력되어 네트워크가 입력과 출력 간의 관계를 학습한다.
입력 벡터 i와 원하는 출력 o로 구성된 여러 훈련 샘플을 네트워크에 제공한다. 예를 들어 분류 문제에서 그룹 0에 속하는 점 (1, 2) 및 (1, 3), 그룹 1에 속하는 점 (2, 3) 및 (3, 4)가 있다고 가정해 보면, (5, 6) (6, 7) 그룹 2에 속하면 2개의 입력 노드와 2개의 출력 노드가 있는 전방전달신경망의 경우 훈련 세트는 다음과 같다.
출력 노드 수를 선택하는 기본 규칙은 다른 영역의 수에 따라 달라진다. 다른 영역을 나타내려면 단항 표기법을 사용하는 것이 좋다. 즉, 각 출력물에 대해 한 노드만 값 1을 가질 수 있다. 따라서 { 출력 노드 수 = 서로 다른 영역의 수 -1 } 이 된다. 역전파 학습에서 훈련 샘플의 입력 벡터가 제시될 때마다 출력 벡터 를 원하는 값 와 비교한다.
비교는 다음의 두 가지 차이를 제곱하여 계산한다.
에러의 값은 우리가 특정 입력에 대해 원하는 값으로부터 얼마나 멀리 떨어져 있는지를 말해 준다. 역전파의 목표는 모든 교육 샘플에 대한 에러의 합계를 최소화하여 네트워크가 가장 바람직한 방식으로 동작하도록 하는 것이다.
Minimize
입력 벡터(i), 중량 벡터(w), 그리고 인식의 임계 함수의 측면에서 에러를 표현할 수 있다. 단계 함수 대신 연속 함수를 임계값 함수로 사용하여 w와 i의 관점에서 w에 대한 Err의 구배를 표현할 수 있다. 그래디언트 방향으로 w 값을 감소시키면 Err이 가장 빠르게 감소한다는 사실을 감안하여 다음 공식을 사용하여 샘플을 제시할 때마다 체중 벡터를 업데이트한다.
이 알고리즘을 사용하여 특정 입력 샘플의 Errr 값이 샘플이 표시될 때마다 약간씩 감소하도록 중량 벡터를 수정한다. 모든 샘플이 여러 사이클에 걸쳐 차례대로 제시되면 에러의 합은 점차 최소값으로 감소한다.[5]
기울기 기반 학습[편집]
신경망을 설계하고 훈련하는 것은 경사로 강하를 가진 다른 기계 학습 모델을 훈련하는 것과 크게 다르지 않다. 우리가 지금까지 보아온 선형 모델과 신경망 사이의 가장 큰 차이점은 신경망의 비선형성이 가장 흥미로운 손실 기능을 비컨벡스가 되게 한다는 것이다. 이는 신경 네트워크가 로지스틱 회귀 분석이나 SVM을 훈련하는 데 사용되는 글로벌 수렴 보증과 함께 선형 회귀 모델을 훈련하는 데 사용되는 선형 방정식 솔버나 볼록 최적화 알고리즘보다는 비용 함수를 매우 낮은 값으로 단지 유도하는 반복적인 구배 기반 최적화기를 사용하여 훈련된다는 것을 의미한다. 그림에서 볼 수 있듯이 깊은 골짜기에 떨어진 공의 비유처럼 공은 골짜기 바닥에 가라앉는다. 마찬가지로 많은 사람들은 비용 기능이 최소화하고 가능한 최소 가치에 도달하기를 원한다. 공을 방향으로 을 소량 이동할 때와 방향으로 를 소량 이동할 때, 미적분학에서는 가 다음과 같이 바뀐다고 한다.
과 의 변경은 비용 변동이 음수하도록 변경하는 것이 바람직하다. 또한 가 C인 를 나타낼 수 있다.
그리고 는 이다.
사실 기울기 강하가 최소한의 탐색을 위한 최적의 전략이라는 의미도 있다. 가능한 한 를 줄이기 위해 의 위치를 이동하려고 한다고 가정해 보자. 에 로 이동하도록 이동 크기를 제한하겠다. 즉, 고정된 크기의 작은 단계인 이동을 원하고, 가능한 한 를 감소시키는 이동 방향을 찾으려고 노력하고 있다. 를 최소화하는 의 선택은 이고, 여기서 은 크기 제약 에 의해 결정된다는 것을 증명할 수 있다. 따라서 기울기 하강은 즉시 를 감소시키는 가장 큰 역할을 하는 방향으로 작은 걸음을 내딛는 방법으로 볼 수 있다. 이제 그라데이션 벡터 에는 해당 성분 와 가 있다. 구성 요소 측면에서 기울기 하강 업데이트 규칙을 작성하면 아래의 식과 같다.
기울기 기반 학습을 훈련하는 데는 겪는 어려움 중 한 가지는 훈련 입력의 수가 매우 많을 때 오랜 시간이 걸리며 학습이 천천히 일어난다는 것이다. 확률적 기울기 강하라고 불리는 아이디어는 학습 속도를 높이는 데 사용될 수 있다. 이러한 아이디어를 보다 정밀하게 만들기 위해 무작위로 선택한 적은 수의 훈련 입력물을 무작위로 선택함으로써 확률적 기울기 강하가 작용한다. 무작위 교육 입력에 이라는 레이블을 붙여 미니 배치라고 한다. 표본 크기 이 충분히 클 경우, 우리는 의 평균값이 모든 에 대한 평균값, 즉 아래의 식과 거의 같을 것으로 예상한다.
이 해결법은 상당한 양의 계산 부하를 줄이는 데 도움이 된다. 비 볼록 손실 함수에 적용된 확률적 기울기 하강법은 이러한 수렴 보장이 없으며, 초기 매개 변수의 값에 민감하다. 전방전달신경망의 경우 모든 가중치를 작은 무작위 값으로 초기화하는 것이 중요하다. 편향은 0 또는 작은 양의 값으로 초기화할 수 있다.[4]
비용 함수[편집]
비용 함수는 훈련의 어느 지점에서든 모델에 의해 만들어진 근사치와 사람이 도달하려고 하는 실제 목표값 사이의 차이를 보여주며, 그것의 임무는 네트워크 전체를 평가하는 것이기 때문에 항상 단일 값이다. 머신러닝 알고리즘과 마찬가지로 전방전달신경망도 그라데이션 기반 학습을 사용하여 훈련되는데, 이러한 학습 방법에서는 비용 기능을 최소화하기 위해 확률적 기울기 강하와 같은 알고리즘을 사용한다. 전체 교육 과정은 비용 기능의 선택에 크게 좌우되며, 비용 기능의 선택은 다른 파라메트릭 모델과 거의 동일하다. 매개변수 모델이 분포 를 정의하는 경우, 단지 비용 함수로 훈련 데이터와 모델의 예측 사이의 교차 엔트로피를 사용한다. 또한 y에 대한 완전한 확률 분포를 예측하기 보다는 x에 조건화된 y의 일부 통계량을 예측함으로써 이것에 대한 또 다른 접근법을 취할 수 있다. 함수를 역전파 알고리즘과 함께 비용 함수로 사용하기 위해서는 다음 두 가지 특성을 만족시켜야 한다.
- 비용 함수는 평균으로 작성할 수 있어야 한다.
- 비용 함수는 출력 계층 옆에 있는 네트워크의 활성화 값에 의존해서는 안 된다.
비용 함수는 대부분 C 형식이며, 여기서 W는 신경망의 무게, B는 네트워크의 편향, Sr은 단일 훈련 샘플의 입력, Er는 해당 훈련 샘플의 원하는 출력이다. 가능한 비용 함수는 다음과 같다.
- 이차비용
이 함수는 베르누이(Bernoulli) 음의 로그 우도 및 이진 교차 엔트로피라고도 한다.
- 지수비용
- 헬링거 거리
이것은 통계적 거리라고도 불린다.[6]
출력 단위[편집]
출력 단위는 출력 계층에 존재하는 단위로서, 그 단위는 우리에게 원하는 출력이나 예측을 제공하여 신경 네트워크가 수행해야 하는 작업을 완료하는 것이다. 출력 단위의 선택은 비용 함수의 선택과 긴밀하게 결합된다. 신경망에서 숨겨진 유닛으로 사용할 수 있는 어떤 유닛도 출력 유닛으로 사용할 수 있다. 출력 단위를 선택할 수 있는 항목은 다음과 같다.
선형 단위[편집]
가장 단순한 종류의 출력 단위는 가우스 출력 분포에 사용되는 선형 출력 단위로서, 이러한 단위는 출력 계층에 비선형성을 제공하지 않는 부속 변환에 기초한다. 주어진 h 형상에 따라 선형 출력 층은 벡터를 생성한다.
로그 우도를 최대화하는 선형 계층의 경우 평균 제곱 오차를 최소화하는 것과 동일하며, 최대 우도는 가우스 분포의 공분산을 기울이기 쉽게 한다. 이러한 선형 단위의 장점은 포화되지 않는다는 것이다. 즉, 단위의 기울기는 항상 일정하게 유지되고 0에 결코 접근하지 않으며, 기울기 기반 최적화 알고리즘에는 어려움이 없다.
시그모이드 단위[편집]
이항 분류 문제를 해결하기 위해 최대우도를 갖는 시그모이드 출력 단위를 결합한다. 시그모이드 출력 단위는 2개의 성분을 가지고 있는데, 하나는 를 계산하기 위해 선형 레이어를 사용하고 그 다음 활성화 함수를 사용하여 를 확률로 변환한다. 평균 오차 제곱과 같은 다른 손실 기능을 사용할 경우, 손실은 언제든지 포화 상태가 될 수 있으며, 즉 기울기는 너무 작아 학습에 유용하지 않을 수 있다. 이러한 이유로 최대 가능성이 선호된다.
소프트맥스 단위[편집]
소프트맥스 단위는 다도 출력 분포에 사용되며, 가능한 값이 개인 이산형 변수에 대한 확률 분포에 사용되며, 이는 이항 변수에 대한 확률 분포를 나타내는 S자형 함수의 일반화로도 볼 수 있다. 소프트맥스 함수는 다음을 통해 정의된다.
시그모이드 기능과 마찬가지로 소프트맥스 기능도 포화 상태가 될 수 있다. 즉, 그라데이션이 너무 작아 학습에 유용하지 않을 수 있다. 소프트맥스의 경우 출력 단위가 여러 개여서 입력값 간 차이가 극심해질 때만 포화상태에 이를 수 있다. 이 단위는 총 확률이 항상 1이고 초과할 수 없으므로 승자가 모든 원칙을 취하며, 1 아웃 값이 1에 가까워지면 다른 출력 단위의 출력 값이 0에 가까워진다.
은닉 단위[편집]
은닉 단위의 유형을 선택하는 것 역시 활발한 연구로, 어떤 특정 단위도 모든 문제에서 다른 모든 단위를 능가할 것이라고 보장할 수 없지만, 초기에는 기본 선택인 일부 단위가 있다. 예를 들어, 수정된 선형 단위나 일반적으로 알려진 렐루(Relu)가 주로 사용된다. 이것은 경험보다는 직관적인 이유 때문이다.실제로 어떤 것이 가장 잘 될지는 대개 미리 예측하는 것이 불가능하다. 은닉 단위를 선택하는 것은 시행착오를 수반하며, 일종의 숨겨진 단위가 잘 작동할 수 있음을 직감하고 시험한다. 은닉 단위를 선택할 수 있는 방법은 다음과 같다.
- 정류된 선형 단위
이러한 함수는 g(z)로 정의된 활성화 함수를 사용한다.
렐루는 선형 단위와 비슷해 최적화하기 쉬운데, 이들 사이의 유일한 차이점은 도메인의 절반에 대한 출력이 0이라는 것이다. 이들이 이처럼 유명한 이유는 유닛이 활동할 때마다 항상 큰 기울기를 가지고 있기 때문이다. 기울기는 2차 효과를 소개하는 활성화 기능보다 학습에 훨씬 유용하다. 하지만 렐루는 자신의 활성화가 0인 기울기 기반 방법을 통해 배울 수 없는 단점이 있다. 세간에는 렐루에 대한 많은 일반화가 있으며, 이는 다음과 같다.
- 절대값 정류
- 리키 렐루(Leaky ReLU)
- 파라메트릭 렐루(Parametric ReLU)
- 최대 출력 단위
맥스아웃(Maxout) 단위는 요소별 함수 를 적용하고, 맥스아웃 단위는 를 값 그룹으로 나눈다. 그런 다음 각 맥스아웃 단위는 이들 그룹 중 하나의 최대 요소를 출력한다. 맥스아웃 단위는 각 단위가 여러 개의 필터에 의해 구동되어 신경 네트워크가 훈련된 작업을 수행하는 방법을 잊어버리는 파국적 망각으로부터 저항할 수 있게 되는 이중화를 가지고 있기 때문에 렐루의 최고의 일반화로 평가받고 있다.
- 로지스틱 S자형 및 쌍곡 탄젠트
로지스틱 시그모이드는 다음과 같이 주어진다.
쌍곡선 접선은 다음을 통해 제공된다.
이러한 단위는 다음과 같이 밀접하게 관련되어 있다.
렐루 이전에는 이러한 것들이 신경망의 가장 대표적인 선택지였지만, 지금은 가 매우 양성이면 높은 값으로 포화되고, 가 매우 음성이면 낮은 값으로 포화되며, 가 에 가까울 때만 입력에 강하게 민감하기 때문에 사용이 무시된다. S자형 단위의 광범위한 포화는 기울기 기반 학습을 매우 어렵게 만들 수 있다.[6]
각주[편집]
- ↑ 1.0 1.1 1.2 Feedforward neural network Wikipedia - https://en.wikipedia.org/wiki/Feedforward_neural_network
- ↑ 찬, 〈FFNN(Feed-forward Neural Network)〉, 《네이버 블로그》, 2018-03-27
- ↑ Feedforward Neural Network Techopedia - https://www.techopedia.com/definition/33266/feedforward-neural-network
- ↑ 4.0 4.1 Tushar Gupta, 〈Deep Learning: Feedforward Neural Network〉, 《Towards Data Science》, 2017-01-05
- ↑ Feedforward Neural Network - https://cs.stanford.edu/people/eroberts/courses/soco/projects/neural-networks/Architecture/feedforward.html
- ↑ 6.0 6.1 Yash Upadhyay, 〈Introduction to FeedForward Neural Networks〉, 《Towards Data Science》, 2019-05-08
참고자료[편집]
- Feedforward neural network Wikipedia - https://en.wikipedia.org/wiki/Feedforward_neural_network
- Feedforward Neural Network Techopedia - https://www.techopedia.com/definition/33266/feedforward-neural-network
- Feedforward Neural Network - https://cs.stanford.edu/people/eroberts/courses/soco/projects/neural-networks/Architecture/feedforward.html
- Tushar Gupta, 〈Deep Learning: Feedforward Neural Network〉, 《Towards Data Science》, 2017-01-05
- 찬, 〈FFNN(Feed-forward Neural Network)〉, 《네이버 블로그》, 2018-03-27
- Yash Upadhyay, 〈Introduction to FeedForward Neural Networks〉, 《Towards Data Science》, 2019-05-08
같이 보기[편집]