딥러닝 6

[딥러닝] 잔차 학습 (residual learning) - ResNet

https://arxiv.org/abs/1512.03385 Deep Residual Learning for Image Recognition Deeper neural networks are more difficult to train. We present a residual learning framework to ease the training of networks that are substantially deeper than those used previously. We explicitly reformulate the layers as learning residual functions with arxiv.org 본 글은 Kaming He가 마이크로소프트에 근무하고 있을 당시 작성한 "Deep Residua..

[딥러닝] 이론 - 기울기 소멸 (활성화 함수)

기울기 소멸 문제 (vanishing gradient problem) 기울기 소멸은 은닉층이 많은 신경망에서 주로 발생하는데, 출력층에서 은닉층로 전달되는 오차가 크게 줄어들어 학습이 되지 않는 현상입니다. 즉, 기울기가 소멸되기 때문에 학습되는 양이 '0'에 가까워져 학습이 더디게 진행되다 오차를 더 줄이지 못하고 그 상태로 수렴하는 현상입니다. 위 상황에 적합한 상황이 활성화 함수로 시그모이드, 또는 하이퍼볼릭 탄젠트를 사용하는 경우입니다. 시그모이드와 하이퍼볼릭 탄젠트 모두, 전달 함수 값이 매우 크거나 매우 작아질 때 도함수 값이 0에 수렴합니다. [딥러닝] 이론(1) 참고 - 갑자기 활성화 함수가 왜 튀어나오냐 하실 수 있지만, 활성화 함수는 순전파에도 쓰이지만 역전파 과정에서 각 활성화 함수에..

[딥러닝] 이론 - 과적합

과적합 (Over-fitting) 과적합은 훈련 데이터를 과하게 학습해서 발생합니다. 일반적으로 훈련 데이터는 실제 데이터의 일부분입니다 (딥러닝은 훈련 데이터를 통해 학습을 진행하고 검증 데이터를 통해 모델을 평가합니다) 훈련 데이터를 과하게 학습했기 때문에 예측 값과 실제 값 차이인 오차가 감소하지만, 검증 데이터에 대해서는 오차가 증가합니다. 이러한 관점에서 과적합은 훈련 데이터에 대해 과하게 학습하여 실제 데이터에 대한 오차가 증가하는 현상을 의미합니다. 그러면 과적합은 데이터를 완벽하게 학습한거 아니냐? 즉, 모델 성능을 최대치로 만든 것 아니냐? 라고 하실 수 있지만... 아무리 훈련 데이터라고 해도 현실 세계의 정확한 정보를 완벽하게 수집하지 못 할 뿐더러, 훈련 데이터에 포함된 노이즈(이상..

[딥러닝] 이론(2)

[딥러닝] 이론(1) 과 이어지는 내용입니다. 이론(1) 에서는 딥러닝의 간단한 구성요소에 대해 알아보았습니다. 이번에는 딥러닝의 학습이 어떻게 이루어지는지, 딥러닝의 문제점과 해결 방법이 무엇인지 알아보겠습니다. 딥러닝 학습 딥러닝 학습은 크게 순전파와 역전파라는 두 단계로 진행됩니다. 순전파 (Feedforward) 순전파는 네트워크 훈련 데이터가 들어올 때 발생하며, 데이터를 기반으로 예측 값을 계산하기 위해 신경망을 교차해 지나갑니다. 즉 모든 뉴련이 이전 층의 뉴런에서 수신한 정보에 따라 변환(가중합 및 활성화 함수를 통해...)을 적용하여 다음 층(은닉층)의 뉴런으로 전송하는 방식입니다. 네트워크를 통해 입력 데이터를 전달하며, 데이터가 모든 층을 통과하고 모든 뉴런이 계산을 완료하면 그 예측..

[개발] 담배 피는 사람 분류 (합성곱 신경망)

tensorflow로 합성곱 신경망을 구현하여 담배를 피는사람을 분류해보겠습니다. https://www.kaggle.com/datasets/vitaminc/cigarette-smoker-detection Cigarette Smoker DetectionCan you detect people smoking cigarette in an image?www.kaggle.com위 데이터셋을 사용하여 모델을 훈련시켰습니다.데이터 로드image_dataset_from_directory( ) image_dataset_from_directory 함수는 디렉토리에서 이미지 데이터셋을 생성하는 유틸리티 함수입니다. 이 함수를 사용하면 이미지 데이터셋을 쉽게 로드하고 전처리할 수 있습니다.image_folder = "folde..

개발 2023.05.21

[딥러닝] 이론(1)

딥러닝이란 여러 층을 가진 인공 신경망을 사용하여 학습을 수행하는 것 여기서 '층' 이란 무엇이고, 그의 역활은 무엇인지 그리고 '학습' 이란 무엇인지를 최대한 쉽게 알아보겠습니다. 층 (layer) 층이란 간단하게 말해서 데이터를 처리하는 공간이라 생각하시면 편합니다. 딥러닝에는 기본적으로 데이터를 받아들이는 입력층(input layer) 데이터를 처리하는 은닉층(hidden layer) 최종 결괏값이 포함된 출력층(output layer) 이 있습니다. 이제 이 층을 이루는 페셉트론(perceptron)을 자세히 살펴보겠습니다. 퍼셉트론 (Perceptron) 퍼셉트론이란 다수의 입력으로부터 하나의 결과를 내보내는 알고리즘입니다. 입력 값에 가중치를 곱한다 (값들을 모두 더한 것을 '가중합'이라 합니..