본문 바로가기
머신러닝/딥러닝

딥러닝의 기초

by ADELA_J 2023. 7. 24.

<딥러닝>

https://www.freshworks.com/ko/freshdesk/kblogs/deep-learning/

 

<심층 신경망, Deep Neural Network, DNN>

- 딥러닝 중에서도 가장 기본적인 알고리즘.

 

<주로 사용되는 라이브러리>

- Keras, TensorFlow(구글에서 만든 인기 있는 딥러닝 라이브러리).

> Keras는 TensorFlow 쉽게 다루기 위한 라이브러리. 래퍼wrapper라고 불리움.

 

 

▶ epoch 수가 높아짐에 따라 훈련 데이터의 정확도 / 테스트 데이터의 정확도가 올라가는것을 확인하자.

<딥러닝> 

- 심층 신경망 모델을 사용하여 데이터의 분류나 회귀를 실시

- 머신러닝의 한 방법

▶ x0, x1 등등이 입력, w1,w2이가 가중치 파라미터, w1x1+w2x2의 값이 임곗값 보다 높으면

뉴런이 발화spiking, firing 하여 1을 출력하고 그렇지 않으면 0 을 출력

<심층 신경망> - 위 그림처럼 여러 층을 구축하여 복잡한 문제를 다룰 수 있게 하는것. 

- 신경망은 입력X(벡터나 행렬 등)를 받으면 연쇄적으로 반응을 일으켜 결국 값 y(스칼라나 벡터 등)을 출력

 

<딥러닝을 이용한 분류의 흐름>

1. 네트워크 모델 작성하기

출처 : https://buomsoo-kim.github.io/keras/2018/04/21/Easy-deep-learning-with-Keras-1.md/

input layer : 입력층 / hidden layer:은닉층 / output layer : 출력층

 

2. 모델에 훈련용 데이터를 부여하고 학습시키기

- X를 받아 y를 출력할 때, 출력 Y와 지도라벨(정답 데이터) T 사이의 차이 $\Delta E$ 를 작게하기 위해

  - 오차역전파법, backprogagation을 사용, ▶ 각 뉴런의 가중치를 조정

   ▶ 정답 데이터 T, 데이터 X를 제공해 반복적으로 가중치가 조정되면 점차적으로 구하려는 출력값을 얻을 수 있음. 

    - 이렇게 적절한 ㅖ측값을 반환하는 모델이 된다.

 

3. 분류할 데이터를 모델에 전달하기.

 - 딥러닝 모델의 학습이 완료되면 학습된 모델을 사용하는 추론 inference 단계를 고려.

 - 실제로 학습이 끝난 모델을 사용하여 예측할 데이터를 모델에 전달하고 추론. 

 - 대량의 데이터를 입력해 정답일 확률을 측정하여 정확도를 계산