ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 신경망에 대해 알아야 할 모든 것
    MACHINE LEARNING 2017. 11. 8. 07:16
    반응형

    이 문서는 영문으로된 내용을 구글 번역기를 활용하여 번역한 내용입니다. 
    개인적인 공부 및 추후 다시 볼 수 있도록 하기 위해 개인 블로그에 번역 내용을 옮겨 놓았습니다.
    원문과 내용이 다를시 책임지지 않으며, 저작권 문제가 발생시 언제든 삭제 될 수 있습니다. 

    원문보기 : https://hackernoon.com/everything-you-need-to-know-about-neural-networks-8988c3ee4491



    신경망에 대해 알아야 할 모든 것

    Courtesy: Kailash Ahirwar (Co-Founder & CTO, Mate Labs)

    Intro:

    인공 지능이란 무엇인지를 이해하고 머신러닝 및 딥러닝의 어떻게 힘을 발휘하는지 압도적인 경험입니다. 우리는 그 경험을 통해 얻은 독학 엔지니어 그룹이며 우리는 이해와 도움을 줄 수 있는 단순한 형태로 (블로그에서) 공유하고 있으므로 이 분야에 익숙하지 않은 누구나 쉽게 이 기술에 대한 이해를 시작할 수 있습니다.
    또한, 우리 사명을 통해 우리는 누구나 한 줄의 코드 작성 없이도 머신러닝 및 딥러닝 모델을 구축할 수있는 플랫폼을 만들었습니다.

    뉴런(Node)  - 신경망의 기본 단위입니다. 특정 입력 수와 편향값을 얻습니다. 신호(값)가 도착하면 가중치가 곱해집니다. 뉴런에 4개의 입력이 있으면 훈련 시간 동안 4개의 가중치를 조정할 수 있습니다.


    신경망중 하나의 뉴런에서 작동

    연결(Connections)  - 하나의 층의 하나의 뉴런을 다른 층 또는 같은 층의 다른 뉴런에 연결합니다. 연결에는 항상 연결된 가중치가 있습니다. 훈련의 목표는 손실(오류)을 줄이기 위해 이 가중치를 업데이트하는 것입니다.


    편향(Bias; Offset)  - 뉴런에 대한 추가 입력이며 항상 1이며 자체 연결 가중치가 있습니다. 이렇게 하면 모든 입력이 0(모두 0) 인 경우에도 뉴런에서 활성화 될 것입니다.

    활성화함수 (전달함수)  - 활성화 함수는 신경망에 비선형성을 도입하는데 사용됩니다. 더 작은 범위로 값을 축소합니다. 시그모이 드 활성화함수는 0에서 1사이의 값으로 축소합니다. 딥러닝 업계에서 사용되는 많은 활성화함수가 있으며 ReLU, SeLU 및 TanH가 시그모이드 활성화함수보다 선호됩니다. 이 기사에서는 다양한 활성화기능을 설명했습니다.






    기본 신경망 레이아웃
    입력층 - 이것은 신경망의 첫 번째 층입니다. 입력 신호(값)를 받아서 다음 층으로 전달합니다. 입력 신호(값)에 대한 연산을 적용하지 않으며 연관된 가중치 및 편향 값이 없습니다. 우리 신경망에는 4 개의 입력 신호 x1, x2, x3, x4가 있습니다.
    은닉층 -  은닉층에는 입력 데이터에 다양한 변형을 적용하는 뉴런(노드)이 있습니다. 하나의 은닉층은 세로로 쌓인 뉴런 모음입니다 (표현). 위에 주어진 이미지에는 5개의 은닉층이 있습니다. 우리의 신경망에서 첫 번째 은닉층은 4뉴런(노드), 두 번째 5뉴런, 세 번째는 6뉴런, 네 번째는 4, 다섯 번째는 3뉴런을 가지고 있습니다. 마지막 은닉층은 값을 출력층으로 전달합니다. 은닉층의 모든 뉴런은 다음 층의 모든 뉴런에 연결되므로, 완전연결 은닉층입니다.
    출력층 - 이 층은 신경망의 마지막 층이며 마지막 은닉층으로 부터 입력을 받습니다. 이 층을 사용하여 원하는 값과 원하는 범위를 얻을 수 있습니다. 이 신경망에서는 출력층에 3개의 뉴런이 있고 y1, y2, y3을 출력합니다.
    입력 형상 - 입력층에 전달하는 입력 행렬의 형상입니다. 우리 신경망의 입력층은 4개의 뉴런을 가지고 있으며 1개의 샘플당 4개의 값을 기대합니다. 한 번에 한 샘플씩 먹이면 우리의 신경망에 대한 원하는 입력 형상이 (1, 4, 1)이됩니다. 100개의 샘플을 입력하면 입력 형상은 (100, 4, 1)이 됩니다. 서로 다른 라이브러리는 형상이 다른 형식이어야합니다.
    가중치(매개 변수) - 가중치는 단위 간의 연결 강도를 나타냅니다. 노드1 에서 노드2 까지의 가중치가 더 큰 경우, 뉴런1 이 뉴런2 보다 더 큰 영향을 미친다는 것을 의미합니다. 가중치는 입력값의 중요성을 떨어 뜨립니다. 0에 가까운 가중치는 이 입력을 변경하면 출력이 변경되지 않음을 의미합니다. 음의 가중치는 이 입력을 늘리면 출력이 감소 함을 의미합니다. 가중치는 입력이 출력에 미치는 영향을 결정합니다.

    순전파
    순전파 - 순전파는 입력 값을 신경망에 공급하고 예측 값이라고 부르는 출력을 얻는 프로세스입니다. 때로는 순전파를 추론이라고 부릅니다. 신경망의 첫 번째 층에 입력 값을 입력하면 아무런 조작없이 입력 값이 전달됩니다. 두 번째 층은 첫 번째 층에서 값을 가져와 곱셈, 더하기 및 활성화 작업을 적용하고 이 값을 다음 층으로 전달합니다. 후속 층에 대해 동일한 프로세스가 반복되고 마지막으로 마지막 층에서 출력 값을 얻습니다.

    역전파
    역전파 - 순전파 후에 예측 된 값인 출력 값을 얻습니다. 오차를 계산하기 위해 예측값과 실제 출력값을 비교합니다. 우리는 손실 함수 를 사용하여 오류값을 계산합니다(위 참조). 그런 다음 신경망에서 각각의 모든 가중치에 대한 오차값 의 미분을 계산합니다 . 역전파는 Differential Calculus의 체인 규칙을 사용합니다. 체인 규칙에서 우리는 마지막 층의 가중치를 기준으로 오류값의 도함수를 계산합니다. 이 결과로 파생된, 기울기값을 사용하여 두 번째 마지막 층의 기울기를 계산합니다. 우리는 신경망에서 각각의 모든 가중치에 대한 기울기를 얻을때까지 이 과정을 반복 합니다. 그런 다음 가중치에서 이 기울기값을 빼서 오류값을 줄 입니다. 이런 식으로 우리는 지역최소값(Local Minima)에 가깝게(하강) 이동합니다(최소 손실을 의미 함).


    학습률 - 우리가 신경망을 훈련 할 때 우리는 일반적으로 가중치를 최적화하기 위해 경사하강법을 사용 합니다. 매 반복마다 우리는 역전파를 사용하여 각 가중치에 대한 손실 함수의 미분을 계산하고 그 가중치에서 그 값을 뺍니다. 학습률은 가중치(매개 변수) 값 을 업데이트하는 속도를 결정 합니다. 학습률은 충분히 높아야하며, 지역최소값을 찾을 만큼 충분히 낮아야합니다.

    정밀도와 리콜
    정확도 - 정확도는 측정된 값과 표준 또는 알려진 값의 근접성을 나타냅니다.
    정밀도 - 정밀도는 서로 둘 이상의 측정 값의 근접성을 나타냅니다. 측정의 반복성 또는 재현성입니다.
    리콜(Sensitivity) - 리콜은 관련 인스턴스의 총량에 대해 검색된 관련 인스턴스의 비율을 나타냅니다

    Tp는 참 긍정, Tn은 참 음수, Fp는 거짓 긍정, Fn은 거짓 음수
    Confusion Matrix  - Wikipedia가 말했듯이 :
    기계 학습 분야, 특히 통계적 분류 문제에서 오류 매트릭스라고도하는 confusion matrix는 특정 테이블 레이아웃 입니다. 일반적으로 지도 학습 (supervised learning) 알고리즘의 성능을 시각화 할 수 있습니다 (비지도 학습에서는 대개 일치하는 매트릭스라고 부름). 행렬의 각 행은 예측된 클래스의 인스턴스를 나타내며 각 열은 실제 클래스의 인스턴스를 나타냅니다 (또는 그 반대). 그 이름은 시스템이 2개의 클래스를 혼동 시키는지를 쉽게 알 수있게 합니다(즉, 일반적으로 하나의 클래스를 잘못 분류하는 것).

    Confusion Matrix
    컨버전스  - 컨버전스는 반복이 진행됨에 따라 산출량이 특정 값에 가까워 질 때 발생합니다.
    정규화 (Regularization ) - 오버피팅 문제를 극복하는데 사용됩니다. 정규화에서 우리는 L1 (LASSO) 또는 L2 (Ridge) norm을 가중치 벡터 w 에 추가함으로써 손실 기간에 불이익을 줍니다 (주어진 알고리즘에서 학습된 매개 변수의 벡터입니다).
    L(Loss function) + λN(w) — here λ is your regularization term and N(w) is L1 or L2 norm
    정규화(Normalisation)  - 데이터 정규화는 하나 이상의 속성을 0에서 1의 범위로 재조정하는 과정입니다. 정규화는 데이터 분포를 알지 못하거나 가우스 분포(종모양 곡선)가 아닐 때 사용하기 좋은 기술입니다. 학습 과정의 속도를 높이는데 좋습니다.
    완전 연결 계층 - 한 층의 모든 노드가 활성화되면 다음 층의 모든 노드로 이동합니다. L 번째 층의 모든 노드가 (L + 1) 번째 층의 모든 노드에 연결될때 이 층을 완전 연결 계층이라고 부릅니다.

    완전 연결 계층
    손실 함수/비용 함수 -  손실 함수는 단일 학습 예제에 대한 오류를 계산합니다. 비용 함수는 전체 훈련 세트의 손실 함수의 평균입니다.
    • 'mse' : 평균 제곱 오차.
    • 'binary_crossentropy' : 바이너리 로그 손실 (logloss).
    • 'categorical_crossentropy' : 다중 클래스 로그 손실 (logloss)입니다.
    모델 최적화 도구  - 최적화 도구는 모델의 가중치를 업데이트하는 데 사용되는 검색 기술입니다.
    • SGD : 추세를 지원하는 확률적 경사하강법 (Stochastic Gradient Descent).
    • RMSprop : Geoff Hinton이 제안한 적응 학습 속도 최적화 방법.
    • Adam : 적응형 학습 속도를 사용하는 적응형 모멘트 추정 (Adam).
    성능 메트릭  - 성능 메트릭은 신경망의 성능을 측정하는 데 사용됩니다. 정확성, 손실, 유효성 검증 정확성, 유효성 검증 손실, 평균 절대 오류, 정밀도, 리콜 및 f1 점수는 일부 성능 메트릭입니다.
    배치 크기  - 한 번의 전진/후진 통과의 훈련 예제의 수. 배치 크기가 클수록 더 많은 메모리 공간이 필요합니다.
    훈련 에포크  - 모델이 훈련 데이터 세트에 노출 된 횟수입니다.
    에포크 1개 = 하나의 정방향 패스와 하나의 역방향 패스가 모든 훈련 예제에 포함됩니다.


    About

    At Mate Labs we have built Mateverse, a Machine Learning Platform, where you can build customized ML models in minutes without writing a single line of code. Our platform enables everyone to easily build and train Machine Learning models, without writing a single line of code.

    Let’s join hands.

    Share your thoughts with us on Twitter.
    Tell us if you have some new suggestion. Our ears and eyes are always open for something really exciting.


    반응형
Designed by Tistory.