티스토리 뷰

 

 인공신경망(ANN: Artificial Neural Network)

  • 인공신경망은 생물학의 신경망(뇌)에서 영감을 얻은 정보처리 체계로 단층 퍼셉트론과 다층 퍼셉트론을 포함한다.
  • 시냅스의 결합으로 망을 형성한 인공 뉴런(퍼셉트론)이 학습(시냅스의 결합 세기)을 통해 문제를 해결한다.

 

 인공신경망 분류

  • 지도학습 : 정답의 입력에 의해 문제에 최적화 됨
  • 비지도 학습 : 정답 없음

 

 인공신경망 구성

  • 입력층(Input) : 다수의 입력 데이터를 받는다.
  • 은닉층(HIdden) : 입력층과 출력층 사이에 존재하는 레이어들.  (모델구성 : 은닉층의 개수와 노드 개수를 구성)
  • 출력층(Output) : 데이터의 출력을 담당한다.

=> 과제) : 은닉층으로 모델을 잘 구성하여 원하는 Output 값을 잘 예측하는 것.

 

 인공신경망의 원리

🤔 왜 은닉층을 통해서 모델을 구성할 수 있을까?

  • 활성화 함수를 이용하여 은닉층에서 최적의 가중치(weight)와 편향(bias)를 찾아낸다.
  • 퍼셉트론 모델과 동일하게 특정 임계치(threshold)를 넘어야 신경이 전달된다.
  • 신경이 전달되면서 활성화 함수로 가중치를 지정해 각 노드의 최적의 가중치를 찾는 방식으로 작동된다.

 

 

 

 

 


 

 심층신경망 (DNN: Deep Neural Network)

: ANN을 여러 층으로 쌓아 구성한 것.

  • 심층신경망은 인공신경망을 기반으로 은닉층을
  • 많이 늘려서(2개 이상) 학습의 결과를 향상시킨다.
  • 여러 고차원에서 데이터 분류가 가능해짐에 따라, DNN은 영상처리, 음성인식, 자연어 처리 분야에 이용된다.
  • 대표적인 DNN 응용 알고리즘에는 CNN, RNN, LSTM, GRU 등이 있다.
  • 문제점 : 시간 복잡도가 매우 높음.
     ❗해결방안 !
       : 미니 배치(Mini Batch, 여러 학습 예제들의 경사를 동시에 계산), GPU로 학습속도 향상
    • 미니배치(Mini Batch)
      - 전체 데이터를 더 작은 단위로 나누어서 해당 단위로 학습하는 개념.
      - 미니 배치 학습을 하게 되면 미니 배치만큼만 가져가서 미니 배치에 대한 비용(cost) 를 계산하고 경사하강법을 수행한다.
      - 다음 미니 배치를 가져가서 경사하강법을 수행하고 마지막 미니 배치까지 이를 반복한다.

 

 다층 퍼셉트론(Multi-layer Perceptron)

  • 은닉층이 1개 이상인 퍼셉트론을 의미한다.
    은닉층이 2개 이상인 신경망은 심층신경망이라고 한다.
  • 입력층으로 시작하여 은닉층을 거쳐, 출력층으로 노드끼리 연결된 구조를 갖는다. (그물처럼 연결됨)
  • 연결된 노드가 가진 숫자가 변형되어가는 구조로, 숫자들이 변해가는 과정이 학습된다.

 

 드롭아웃(Dropout)

  • 드롭아웃은 AlexNet에서 선보인 과대적합(over-fitting)을 막기 위한 방법이다.
  • 신경망이 학습중일 때, 무작위로 뉴런을 제거(drop out)하여 학습을 방해함으로써 학습 데이터의 과대적합을 방지한다.
  • 일반적으로 CNN에서는 이 드롭아웃 레이어를 완전연결계측(FC) 뒤에 위치한다. (상황에 따라 max 폴링층 뒤에 위치)

 

 

 

 

 


 

 Keras

  • tf.keras는 딥러닝 모델을 빌드하고 학습시키기 위한 TensorFlow의 상위 수준 API이다.
  • 신속한 프로토타입 제작, 최첨단 연구 및 프로덕션에 사용된다.
  • 더 높은 수준의 더 직관적인 추상화 집합을 표현함으로써 신경망을 구성하기 쉽게 만들어주어 tensorflow에 사용된다.
  • 특징
    • 사용자 친화적 : 간단하고 일관성있는 Keras는 사용자 오류에 대해 명확하고 실행 가능한 피드백을 제공한다.
    • 모듈식 및 구성 가능 : 거의 제한없이 구성 가능한 빌딩블록을 함께 연결하는 방식으로 만들어진다.
    • 쉽게 확장 가능 : 새로운 레이어, 측정항목, 손실함수를 만들고 최첨단 모델을 개발한다.

 

 

 

 

 


 

 밀집층(Dense layer)이란?

  • 완전 연결 계층(Fully Connected Layer)인 밀집층은 내부 뉴런이 이전 계층의 모든 뉴런에 연결되는 계층이다.
  • 1차원 벡터로 변환된 레이어를 하나의 벡터로 연결한다. (각 층의 노드들은 하나로 연결된다)
  • 모든 매개 변수가 완전연결 계층에 점유되기 때문에 과적합 발생률이 높다.  (Dropout으로 해결 가능)

 

 데이터 입력 : Flatten

: 2차원 데이터를 1차원 데이터로 바꾸는 역할을 한다.

 

 

 

 

 

 


 

 Sigmoid와 SoftMax

- sigmoid : 이진분류. 출력값은 0 또는 1.

- softmax : 다중분류. 클래스 개수에 맞게 확장된 함수. 출력값은 각 클래스에 대한 확률값.

  시그모이드 소프트맥스
로지스틱 회귀 모델에서 분류 종류 이진 분류 다중 클래스 분류
활용 활성화 함수로 사용
이진 분류의 출력 층에서 사용
통계에서 누적 분포 함수로 사용
다중 클래스 분류의 출력층에서 사용
반환 값 1개로 반환
예) 0.7
N 개로 반환되며 모든 확률의 합이 1이 됨
예) [0.1, 0.05, 0.7, 0.15 ]
분류모델에서의 값 선택 특정 임계값에 따라 값을 선택
예) 0.5 보다 크면 True, 작으면 False
가장 큰 값으로 반환되는 값을 해당 클래스로 선택
예) np.argmax([0.1, 0.05, 0.7, 0.15 ])
0.7 에 해당되는 인덱스 순서인 2가 반환

 

 

 

 

 

 


 

 Tensorflow를 사용한 딥러닝 모델 cheat sheet

 

 

 

 

 

 

'TIL & WIL > Deep Learning' 카테고리의 다른 글

CNN 간단히 알아보기  (0) 2023.04.17
TensorFlow - Regression 실습 (1) 선형회귀  (0) 2023.04.11
TensorFlow - Classification 실습  (0) 2023.04.11
TensorFlow - beginner 실습  (0) 2023.04.11
✨ 딥러닝 기초  (1) 2023.04.11
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함