본문 바로가기

ReLU6

Tensorflow Activation Function 종류 정리 및 코드 최근 업무상 텐서플로우를 사용해서 머신러닝 모델을 구축하고 있습니다. ReLU나 tanh와 같이 다양한 Activation Function을 적용하면 인공신경망 모델을 개선하는데 도움이 됩니다. 이번 포스팅에서는 간단히 Tensorflow에서 제공하는 Activation Function에 대해 여러분과 공유하고자 합니다. 활성화 함수 종류 정리 머신러닝을 위해 도입된 함수는 Sigmoid 인데, Sigmoid 함수는 딥러닝의 은닉층이 깊어지면 Gradient Vanishing 현상이라고 해서 기울기가 점점 사라지는 문제가 있습니다. 이를 해결하기 위해 tanh와 ReLU 함수가 도입되었습니다. 활성화 함수에 의한 기울기 소실 문제에 대해 궁금하신 분은 아래 포스팅을 참고해주십시오. DL #7 : 딥러닝 .. 2021. 3. 25.
DL #7 : 딥러닝 기울기소실 문제 해결 방법 (Vanishing Gradient) Vanishing Gradient Problem 깊고 넓은 딥러닝 모델을 학습시키기는 과정에서 출력값과 멀어질수록 학습이 되지 않는 현상을 기울기소실이라고 합니다. 이러한 심층신경망에서 가중치를 Back Propagation으로 학습시키는 과정에서 가중치가 발산하거나 곡선의 기울기가 0이되는 기울기 소실(Vanishing Gradient Problem) 문제가 발생합니다. 해당 문제는 20년 동안 해결되지 못했는데 원인은 시그모이드 합수 입니다. 시그모이드 함수는 0~1을 표현합니다. 하지만 시그모이드의 미분 값은 0~0.25 사이의 값만 표현가능합니다. 역전파로 결과값에 대한 가중치 계산 시 전갈되는 값이 1/4 감소되는 현상이 발생합니다. 세번 이상 미분계산 반복 시 0에 가까운 값이 되어 학습되지 .. 2020. 5. 24.
DL #4 : 딥러닝 학습 Gradient Descent, Back Propagation (경사하강법, 오차역전파) 경사하강법 (Gradient Descent) 경사하강법은 오차가 작아지도록 최적화 하는 방법입니다. 오차가 낮아지는 방향으로 이동할 목적으로 현재 위치를 미분하는데, 미분을 통해서 기울기가 큰 방향을 찾아 탐색합니다. 이로써, 주어진 기준을 가장 잘 만족하는 것을 선택합니다. 경사하강법의 원리는 함수를 최소화하는 x, y 지점의 경사(기울기)가 0이 되도록 만드는 방법입니다. 우리가 고등학교 때 배운 바와 같이 Local minima 이던지 Global minimum 이던지 최소화 지점의 기울기는 0 입니다. 경사하강법 원리∂(x, y)/∂x = 0 , ∂(x, y)/∂y = 0 가중치 업데이트w+ = w - LearningRate * ∂e/∂we : errorw : weight 신경망 학습방법Stoch.. 2020. 5. 21.
DL #3 : 딥러닝 활성화 함수 종류 및 특징 (Activation Function) 활성화 함수는 Transfer Function 으로부터 전달 받은 값을 출력할 때 일정 기준에 따라 출력값을 변화시키는 비선형 함수입니다. 활성화 함수를 통해 출력 값을 0~1 사이의 실수 값으로 정규화해 확률적 개념으로 사용 가능합니다. 비선형함수는 직선으로 표현할 수 없는 데이터 사이의 관계도 표현할 수 있습니다. 대표적인 활성화 함수는 Sigmoid, tanh, ReLU 입니다. 계단 함수 (Step Function) 계단 함수는 선형 함수의 결과를 이진 분류로 나타내기 위한 함수로, 임계치 이상에서 1, 아니면 0을 출력합니다. 시그모이드 (Sigmoid) 시그모이드는 선형함수의 결과를 0~1 까지의 비선형 형태로 변형하기 위한 함수입니다. 해당 함수는 로지스틱 회귀와 같은 분류 문제의 확률 표현.. 2020. 5. 4.
DL #2 : 딥러닝의 기본, 퍼셉트론 구조 및 활성화함수 (Perceptron, Activation Function) 인공지능 알고리즘 변화기존 입력 데이터와 알고리즘을 통해 출력데이터를 구하는 인공지능 알고리즘 구현 방식에서 입력 데이터와 출력 데이터를 통해 알고리즘을 구하는 방식으로 변화했습니다. 이러한 방식이 최근 의미있는 결과를 보이며, 많은 곳에서 활용되는 딥러닝 알고리즘의 접근 방식이 되겠습니다. 기존 : 입력 데이터 + 알고리즘 → 출력 데이터변화 : 입력 데티어 + 출력데이터 → 알고리즘 퍼셉트론 (Perceptron) 퍼셉트론은 신경망 초기 연구 과정에서 제안된 방식으로, 맥컬록-피츠 모델을 기반으로 한 기계학습 방법입니다. 퍼셉트론은 가장 간단한 구성의 신경망 구조이며, 입력되는 각 값에 가중치를 곱해 출력을 확인하는 알고리즘 입니다. 위 그림에서 x1, x2, x3는 입력 값, w1, w2, w3는 .. 2020. 5. 4.
ML #17 : 머신러닝 인공신경망(Neural Network) 개념 및 학습 절차 신경망과 인공신경망인공신경망이란, 인간의 뇌를 부분적으로 흉내낸 것으로 여러 개의 뉴런을 병렬처리한 모델을 말합니다. 따라서, 인공신경망은 복잡하고, 비선형적이고, 병렬적인 처리가 가능합니다. 신경망과 인공신경망을 비교한 명칭은 아래와 같습니다. 세포체(뉴런) - Node수상돌기 - 입력(Input)축삭돌기 - 출력(Output)시냅스 - 가중치(Weight) 인공신경망을 학습시킬 때, 각 신호값을 가중치와 곱한 값들의 합을 뉴런이 가지는 한계와 비교함으로써, 한계치를 넘어서면 0, 넘어서지 않으며 -1을 다음 노드로 전달합니다. 이를 반복적인 조정을 통해 학습해서 인공신경망 모델을 생성합니다. 활성화 함수 개념인공신경망에서 결과값을 내보낼 때, 사용하는 함수가 활성화 함수입니다. 이는 전이함수라고도 부.. 2020. 4. 26.