본문 바로가기

Deep Learning/기타7

딥러닝 간단정리 [인코딩 / 이미지 데이터 처리 / 최적화모델 / MLP, CNN, VGG16 ] 데이터 전처리 (인코딩) 1. 원핫인코딩 : 다중분류의 경우 모델이 예측한 확률값과 실제 정답의 scale (범위)가 같아야 제대로 오차를 출력해낼수 있음 따라서 신경망이 제대로 학습할 수 있도록 정답데이터의 원핫인코딩이 필요함 a) pandas 객체로 리턴 pd.getdummies(답 데이터) b) ndarray 객체로 리턴 from tensorflow.keras.utils import to_categorical to_categorical(답 데이터) c) complie할때 인코딩 진행하기 loss = 'sparse_categoricial_crossentropy' 2. CNN 다차원 데이터 처리 : CNN을 사용할 경우다차원 데이터에 대한 표시가 필요함 흑백은 1, 컬러(rgb)는 3 으로 표시해야하므.. 2022. 9. 5.
CNN (합성곱 신경망)의 개념 [ MLP와 CNN의 구조비교 / 패딩 / 축소샘플링 (스트라이드, 풀링) / ] 회색으로 이동할 경우 mlp로는 파악하기 어려움 Feature Extractor (특성추출) + Classifier (분류) (MLP 연결하여 사용 Fully-Connected layer 완전 연결망 >> MLP filter 를 원본이미지의 영역에 입혀 같은 위치의 값을 곱하고 필터안에서 더해줌 특성 x (원본) 가중치 w (필터) 특성들의 곱의 합 (y = ax + b) 특성을 추출하다보니 이미지의 크기가 작아짐 (4x4 > 2x2) 3차원 RGB / 채널 : 3 패딩 : 특성을 추출하다보니 원본데이터와 비교하겨 이미지 크기가 작아지고, 남는 가장자리의 데이터에 0을 채워넣는 것 원본이미지가 커서 굳이 한칸씩 세밀하게 분석하지 않아도 될 것 같을때 스트라이드를 사용하여 건너뛰며 합성공을 수행 데이터에 .. 2022. 9. 5.
오차 역전파의 개념 fit을 실행 > Model을 통해 결과 출력 > 예측값과 실제값의 오차 비교 = 순전파 예측된 결과를 가지고 입력층으로 돌아가 학습하는 과정 : 역전파 Sigmoid 함수의 가장 큰 기울기가 3 / 10, 즉 최대치가 0.3이다 출력값의 오차가 100이라 가정한다면 중간층에서 Sigmoid함수를 쓸 경우 미분된 값의 최대값이 0.3이므로 역전파로 전달해나갈때 처음 보낼떈 30밖에 전달되지 않으며 그다음은 30의 30%만 전달되며 기울기가 소실되어 loss나 정확도가 개선되지 않는다 따라서 중간층에 Sigmoid를 사용하지 않는다 일반적으로는 Relu를 사용하며, 최대값을 1 이상의 데이터도 표현할 수 있다 2022. 9. 2.
최적화함수 (Optimizer) 개념 확률적 경사하강법 SGD batch size와 이전 반향을 침고하여 최적화를 진행하는 모멘텀 모멘텀 방식으로 미리 이동한다고 가정하여 계산한뒤 실제 업데이트에 반영하는 NAG 좀더 빠르게 학습하기 위한 에이다그래드 정확하게 확인하기 위한 모멘텀과 빠르게 확인하기 위한 에이다 그래드의 두개로 나뉘어서 발전해나감 지금은 활성화 함수 activation에는 Relu, 최적화 함수 optimizer 에는 Adam을 가장 많이 사용하고 있다 한번에 얼마나 학습해 나갈지를 지정하는 batch_size 2022. 9. 1.