본문 바로가기
KT에이블스쿨/에이쁠 기자단

[KT 에이쁠 기자단] 5주차 후기(9.4~9.8) - 딥러닝

by 롱싱싱 2023. 9. 9.

안녕하세요~~~

 

벌써 5주차가 지났습니다!

 

딥러닝도 머신러닝과 마찬가지로 5일동안 진행되었는데요!

이숙번 강사님과 함께 코랩을 사용하여 여러 데이터에 대해 딥러닝을 수행해보았습니다.

손실함수, 옵티마이저 등에 대해서도 배웠고 은닉층 레이어를 쌓으며 정확도를 높이는 방법에 대해서도 배웠습니다.

 

또 gpt를 이용하여 직접 챗봇을 만들어보기도 했는데요

딥러닝 분야가 정말 넓은 만큼 여기서 끝내는 것이 아니라 더 공부가 필요하다는 생각이 많이 들었습니다.

9.4 ~ 9.8

딥러닝


딥러닝

딥러닝 강의에서는 Tensorflow를 사용하여 코드를 작성하였습니다.

또한 gradio를 이용하여 간단한 앱 위에 GPT 챗봇을 만들어 보기도 했습니다.

 

실습 위주로 진행되었고, 다양한 하이퍼파라미터에 대해서도 배워봤습니다.

 

범주형 분류

원 핫 인코딩

수식의 결과에 문자(범주)가 올 수 없다. 

따라서 전처리가 필요한데, 원 핫 인코딩을 통해 고유한 값에 대해 이진 특성(0 또는 1 값)을 생성합니다.

범주가 문자열이 아니고 숫자로 레이블링이 돼있을 때 compile에서 loss='sparse_categorical_crossentropy'를 사용하여 

원 핫 인코딩을 수행하지 않아도 학습을 진행할 수 있습니다.

 

 

옵티마이저

Gradient Descent(경사하강법)

함수의 기울기(경사)를 수하여 함수의 극값에 이를 때 까지 기울기가 낮은 쪽으로 반복하여 이동하는 방법

  • SGD (batch학습)

Momentum(관성)

이전에 이동했던 방향을 기억해서 다음 이동의 방향에 반영

모델이 로컬 미니멈을 회피할 수 있도록 함

  • NAG

Adagrad(Adaptive Gradient)

많이 이동한 변수w는 최적값에 근접했을 것이라는 가정 하에, 많이 이동한 변수 w를 기억해서 다음 이동의 거리를 줄인다.

  • RMSprop

Adam(RMSprop + Momentum)

 

활성화 함수

sigmoid

주로 이진 분류 문제에서 출력층에 사용. 그라디언트 소실(Vanishing Gradient) 문제가 있어서 깊은 신경망에서는 사용을 피하는 경우가 많다.

softmax

- 결과를 확률값으로 만듦

각 범주에서 나온 값을 합치면 1이 나옴(0~1사이값)

relu

swish

- relu가 0에서 미분이 안되는 문제를 대체하여 요즘 많이 사용하는 활성화 함수

 

손실함수

MSE

- 회귀문제에서 사용

crossentropy

- 품종이 0,1 값일 때, binary_crossentropy 사용 

- 원 핫 인코딩으로 0칼럼, 1칼럼 일 때 categorical crossentropy 사용

 

batch

한 번에 처리되는 데이터 포인트의 수를 나타내며, 작은 배치 크기부터 큰 배치 크기까지 다양하게 설정할 수 있음.

 

드롭아웃

지정된 확률의 개수만큼 노드를 랜덤하게 제외하고 학습 진행

  • 효과
    • 오버피팅 방지
    • 성능 향상
    • 앙상블효과

Early Stopping

overfitting이 발생하면 멈추고, 멈추기 전 최적의 모델을 적용한다.

 


5주차 총 정리

5일이라는 시간이 정말 순식간에 지나간 것 같습니다.

 

강의에서는 딥러닝의 기본 아이디어와 개념을 체계적으로 배울 수 있었습니다. 뉴럴 네트워크 구조, 활성화 함수, 손실 함수 등에 대해서 자세히 배울 수 있었습니다. 하지만 5일이라는 짧은 시간에 이렇게 넓은 딥러닝 분야를 배운다는 것은 어렵기 때문에 앞으로 딥러닝에 대해 더 깊게 공부해보고 싶습니다. 

 

또한 직접 HuggingFace와 GPT 모델을 이용하여 프로그램을 만들어 봤는데, 이를 통해 실제 프로젝트를 수행할 때 어떻게 딥러닝 모델을 구현하고 사용할 수 있는지를 배울 수 있었습니다. 또한, 전이 학습, 데이터 증강, 하이퍼파라미터 튜닝 등의 중요한 주제도 다루어져서 실제로 유용한 실력을 키울 수 있었습니다.

 

다음주부터는 2차 미니프로젝트가 시작되는데, 이 딥러닝 내용들을 어떻게 사용할 수 있을까 고민이 많이 되었습니다.

딥러닝의 많은 가능성을 알게 되었고 이를 통해 멋진 프로젝트를 만들어 보고 싶다는 생각을 많이 했습니다.