관리 메뉴

jisoleil's coding good thing

딥러닝 2일차 본문

AIVLE/5주차

딥러닝 2일차

jisoleil 2023. 3. 2. 03:11

갈수록 어려워지는 딥러닝!

 

복잡하거나 헷갈리는 이론은 쓰고 자야겠다.

 

 

  1.  퍼셉트론

입력값- 순입력함수-활성함수-예측값

종류

  • 단층 퍼셉트론
  • 다층 퍼셉트론(ANN:인공신경망)

학습 알고리즘

    Error가 발생한 데이터에 기반하여 W(가중치) 값을 기존에 새로운 W값으로 업데이트

한계

->오차정도 고려하지 않음

이후 학습률과 오차정도 고려

->학습률을 잘 설정할 것 그리고 임계값 설정

W+= 학습률* error Data *(임계값-출력값)

 

  2. ANN(인공 신경망)

 

입력층+은닉층+출력층

한계

-> 학습 과정에서 파라미터 최적값 찾기 어려움

->overfiting 문제 

->학습시간이 느리다. 

 

   3. DNN

 

은닉층 2개 이상

파생 CNN(정보추출, 문장분류, 얼굴인식),RNN

 

   4. 오차역전파

 

오차를 점점 거슬러 올라가면서 다시 전파

  • 순전파: Input ->output으로 w를 업데이트 하면서 활성화함수로 결과값 도출
  • 역전파: 다시 역으로 input 방향으로 오차를 다시 보내며 가중치를 재업데이트함. 결과에 영향을 많이 미친 노드에 더 많은 오차 돌려줄것

 

은닉층의 활성화 함수는 

activation='relu' 렐루 함수를 사용한다.

 

은닉층과 노드는 무슨 역활을 하는가?

-> 연결된 것으로부터 기존에 없던 새로운 feature 추출/ 재표현 하는 것

=>Feautre Representation(머신러닝과 딥러닝의 차이)

 

그리고 자주 쓰는 callback에서 자주 쓰는

early stopping(조기 종료)

: 과대 적합이 시작하기 전 훈련 종료

 

es = EarlyStopping(monitor='val_loss',        ## 관측 대상
                   min_delta=0,                             ## Threshold(임계값)
                   patience=5,                               ## 성능 개선되지 않더라도 몇 번 참을래?
                   verbose=1,                 
                   restore_best_weights=True)     ## 가장 성능이 좋았던 epochs의 가중치를 쓸래!
model.fit(train_x, train_y, validation_split=0.2, callbacks=[es], verbose=1, epochs=50)

validation_splittraining set에서부터 알아서 분배해가져가는

 

 

 

큰일이다...

갈수록 어려워진다..

코딩은 비슷비슷 한 것 같은데...

이해하면서 코딩하기가 쉽지 않네..

인공지능을 공부한 내 친구가 머신러닝과 딥러닝 책을 나에게 빌려주었다..

그 친구에게 염치 없지만 그 책이 공부에 많은 도움이 되어 달라고 했고,  친구는 그 책 너에게 줄 생각이였다며 흔쾌히 책을 나에게 주었다.

그래서 내가 올~ 멋있는데 이제 다 이해한거야? 라고 말했었고

이후 친구가 말해주던 뼈때리는 한마디로 오늘 포스팅을 마무리 하겠다. 

그걸....다 이해할 수 있을까?

'AIVLE > 5주차' 카테고리의 다른 글

딥러닝 4일차  (1) 2023.03.06
딥러닝 3일차  (2) 2023.03.03
딥러닝 1일차  (0) 2023.02.28
Comments