딥러닝의 이해
딥러닝 : 이미지, 영상, 음성등 다양한 데이터 예측가능
> 이미지 생성, 문자열 분석, 영상 예측
단일 퍼셉트론
model.add(Dense(units = 1, input_dim = 2)
- 한 층에 하나의 퍼셉트론을 사용
- And, Or는 구분 가능
- XOR는 구분 불가능
다중 퍼셉트론 - Multi layer perceptron
model.add(Dense(units = 1, input_dim = 2)
model.add(Dense(units =1))
- 두개의 층으로 이루어짐
- 각 층은 하나의 퍼셉트론으로 이루어짐
- MLP를 기반으로 다양한 모델이 파생
- CNN, RNN, LSTM, YOLO
딥러닝 구조
입력층 : 데이터를 입력받는 층, 1개의 층
중간층(은닉층) : 분석(예측)을 진행하는 층, 층의 갯수에 제한이 없음
출력층 : 분석 내용을 종합해서 결과를 출력, 1개의 층
딥러닝 실행 방법
- 머신러닝
knn = KNeighborClassifier()
knn.fit(X_train, y_train)
- 딥러닝
1. 딥러닝 (신경망) 설계
-- 입력층, 중간층, 출력층 생성하기
2. 실행방법(compile)
-- 오차(loss), 최적화함수(optimizer), 평가방법(metrics)
-- 분류에서만 평가방법 기재, 회귀에서는 기재하지 않음
3. 학습(fit)
-- X, y, batch_size, epochs
-> X:문제, y:정답, batch_size:내 컴퓨터 성능에 맞게 설정 성능이 좋으면 높게 낮으면 낮게(한번에 학습할 데이터수), epochs:반복횟수
● 오차역전파, 활성화함수, 손실함수
오차역전파
: 딥러닝 모델이 문제데이터로 정답데이터의 규칙을 찾는다
- 순전파(추론)
-> 입력데이터를 입력층~출력층까지전파 시키면서 결과를 추론하는 과정
- 역전파(학습)
-> 추론된 결과에서 에러를 계산하고 출력층~입력층으로 에러를 전파시키면서 최적의 모델을 만드는 것
활성화함수(각 층의 activation에 적음)
: 다음 계층으로 신호를 전달할때 계층의 생각을 전달하기 위함
-sigmoid(입력, 중간, 출력), tanh(입력, 중간), softmax(출력), relu(입력,중간)
- 입력층, 중간층에서는 relu를 대부분 사용함 > 기울기 소실의 문제가 발생하지 않음
- 분류: 출력층에서는 단일출력 - sigmoid, 다중출력 -softmax
- 회귀: 출력층에 아무것도 입력하지 않음(linear)
손실함수(compile에 loss에 기재)
: 오차를 구하는 함수
순전파에서 오차를 구해서 역전파에서 반영시키기 위해서
- mse(평균제곱오차- 회귀), binary_crossentropy(이진분류), categorical_crossentropy(다중분류)
'개발 공부 > 머신러닝, 딥러닝' 카테고리의 다른 글
분류 모델을 평가하는 방법(Classification model) (1) | 2023.10.17 |
---|---|
코랩 사용시 체크 방법 GPU, 속도 향상 방법 (0) | 2023.10.17 |
딥러닝과 퍼셉트론의 이해2 (1) | 2023.10.17 |