Introduction To Deep Neural Networks_LG Aimers(12)

조권휘·2023년 1월 15일
0

LG Aimers

목록 보기
12/14
post-thumbnail

본 포스트는 LG Aimers 활동에 참여하며 온라인 AI 교육을 정리한 내용입니다!
프로그램에 관심이 있으시다면 https://www.lgaimers.ai/ 를 참고해주세요!!

DNN의 기본 동작 과정

Deep Neural Network(심층 신경망)

  • 두뇌 속에 있는 뉴런 혹은 신경세포의 연결관계를 본따서 정보를 고수준의 정보로 처리하고 여러 지능적인 task를 수행할 수 있도록 하는 것을 인공지는 알고리즘으로 만든 것
  • 정보 처리 단계를 수십~수백 단계로 처리함으로써 보다 고수준의 인공지능 task를 수행할 수 있도록 하고 알고리즘 능력과 수준을 끌어올린 모델

동작 과정

  • 입력 신호를 제공해주는 값을 x0,x1,x2x_0, x_1, x_2 등으로 정의
  • 해당 신경세포는 특정한 가중치 w0,w1,...w_0, w_1, ...를 곱해서 다 더한 쉬 특정한 상수를 더하여 1차 결합식으로 새로운 신호를 만든다.
  • 해당 1차 결합식에 추가적인 활성 함수를 최종적으로 통과하여 최종 output을 만들어낸다.
  • 이러한 최종 output은 다른 세포들의 input으로 들어가며 신경망을 형성한다.

Deep Learning의 성능을 올리기 위한 요소

  • Big Data : 학습 Data의 양을 많이 필요로 한다.
  • GPU Acceleration : 알고리즘을 잘 학습시킬 수 있는 높은 사양의 하드웨어
  • Algorithm Improvements : 최대한의 성능을 끌어올릴 수 있는 알고리즘들

Deep Learning 활용 분야

  • Computer Vision
  • Natural Language Processing
  • Time-Series Analysis
  • Reinforcement Learning

Perceptron

  • 뉴런의 동작 과정을 수학적으로 본 따서 만든 알고리즘
  • input : x1,x2x_1, x_2
  • output : yy
  • weights : w0,w1,w2w_0, w_1, w_2
  • perceptron은 입력 정보를 가중치와 곱해서 가중합을 만들어 내는 과정을 거치게 된다.
  • 이 후 활성 함수를 거쳐서 최종 출력 신호를 만들어낸다.
  • 이를 1 / 0으로 표현을 하게 된다.

AND Gate

  • perceptron의 가중치 값의 변경을 통해 AND Gate를 구현할 수 있다.

OR Gate

  • perceptron의 가중치 값의 변경을 통해 OR Gate를 구현할 수 있다.

Decision Boundary

  • 선형 결합의 가중치 그리고 값이 0보다 큰가 작은가에 따라 최종 output이 1 혹은 0으로 결정된다.
  • 1 혹은 0의 output이 달라지는 경계에 해당하는 조건을 확인할 때, 이 값이 정확히 0이 되는 순간의 경계를 의미한다.
  • input feature space : 입력 값이 존재하는 좌표 공간

XOR Gate

Multi-Layer Perceptron

  • 하나의 직선으로 양분할 수 없게 되는 상황이 발생한다.
  • perceptron을 여러 단계에 걸쳐 구성하며 해결할 수 있다.
  • AND, OR Gate를 구성하게 구성한 뒤, 이를 입력으로 다시 받는 가중치를 곱한 식을 구성하면 XOR Gate를 구현할 수 있다.

Hidden Layer

  • 정보를 처리하는 중간 단계에 있는 layer

Forward Propagation

  • multi-layer perceptron에서 순차적인 계산 과정을 나타낸 것
  • aj(i)a_j^{(i)} : 특정 layer에서 몇 번째 뉴런, 해당 layer의 특정 뉴런의 출력 값, j : layer / i : layer의 i번째 노드
  • W(j)W^{(j)} : 여러 노드들의 가중치를 다 모아서 하나의 행렬로 나타낸 것 - 가중치 행렬

  • 가중치 행렬을 row 형태로, 입력 값을 column 형태로 나타내어 내적 연산을 진행하면 scalar 형태의 값이 도출된다. 이를 활성함수에 대입하여 최종 결과를 도출한다.

Softmax Layer(Softmax Classifier)

  • MSE loss 사용 시 문제점
    • 특정 class에서의 예측 값과 참 값의 차이가 최대 1이 될 수 있고, 이에 따라 발생되는 학습에 사용되는 gradient 값이 크지 않을 수 있다.
    • 학습이 느려질 수 있다.
  • multi-class classification을 목적으로 해서 output vector의 형태가 다 합쳤을 때 1이 나오는 확률 분포의 형태로 output을 내어줄 수 있도록 하는 특정한 활성 함수

Softmax loss / Cross-entropy loss

  • 확률 분포에서 정답 class를 기준으로, 정답 class에 해당하는 확률 값이 최대한 1이 나오도록 하는 loss function을 위의 식으로 설계한다.
  • ground truth vector : 0, 1 형태의 one-hot vector
  • 예측값의 log 값과 ground truth vector를 곱하여 계산한다.
  • 정답 class에 부여된 확률 값이 작아질수록 loss가 무한대에 가까워지고, 확률 값이 1에 가까워지면 loss가 0에 가까워진다.

Logistic Regression & Softmax

  • Logistic Regression : output 노드가 하나의 노드로 구성, binary classification에 주로 사용
  • positive class / negative class를 구분하는 가중치를 설정하고, positive만 사용
  • BCE Loss : 첫 번째 항은 positive class일 때, 두 번째 항은 negative class일 때 의미가 부여된다.
profile
안녕하세요 :) Data/AI 공부 중인 한국외대 컴퓨터공학부 조권휘입니다.

0개의 댓글