안녕하세요~~~
벌써 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차 미니프로젝트가 시작되는데, 이 딥러닝 내용들을 어떻게 사용할 수 있을까 고민이 많이 되었습니다.
딥러닝의 많은 가능성을 알게 되었고 이를 통해 멋진 프로젝트를 만들어 보고 싶다는 생각을 많이 했습니다.
'KT에이블스쿨 > 에이쁠 기자단' 카테고리의 다른 글
[KT 에이쁠 기자단] 7주차 후기(9.11~9.15) - 시각지능 딥러닝, 3차미니프로젝트 (0) | 2023.10.03 |
---|---|
[KT 에이쁠 기자단] 6주차 후기(9.11~9.15) - 2차 미니프로젝트 (0) | 2023.09.17 |
[KT 에이쁠 기자단] 4주차 후기(8.28~9.01) - 머신러닝 (0) | 2023.09.09 |
[KT에이쁠 기자단] 2주차 후기(8.14~8.18) 데이터처리, 데이터 분석 및 의미 찾기 (0) | 2023.08.29 |
[KT에이쁠 기자단] 1주차 후기(8.8~8.12) - 오프닝데이, git, 파이썬 기초 (0) | 2023.08.29 |