딥러닝 학습을 시작했습니다.
AI 부트캠프에서 가장 중요한 주제 중 하나는 딥러닝이라고 생각합니다.
지금까지 배워왔던 파이썬, 통계, 머신러닝 기술을 결합해 딥러닝을 공부하고 이를 활용하는 것이 앞으로의 과제입니다.
아직 딥러닝에 대해 배울 것이 많지만, 이제 막 시작한 만큼 중간 학습 기록을 남기려고 합니다.
딥러닝 학습은 개념과 발전 과정을 이해하는 것부터 시작했습니다.
이번이 딥러닝을 본격적으로 공부하는 첫 경험이기에 부족한 점이 있을 수 있지만, 꾸준히 성장해 나가고 싶습니다.
딥러닝의 기본 개념부터 실습까지
딥러닝의 역사부터 배우는 개념
이전까지는 머신러닝만 공부했기에 어느 정도 알고 있었지만, 머신러닝의 한 부분이라고 할 수 있는 딥러닝은 아직 깊게 접해보지 못했습니다.
정확한 개념도 몰랐고, 발전의 방향도 알지 못했지만, 딥러닝의 기본 개념을 배우면서 신기하게도 일부 개념은 이미 익숙하다는 점을 발견했습니다.
딥러닝의 5단계를 배우면서, 첫 번째 단계는 사람이 직접 학습을 시키는 방식으로 이해할 수 있었습니다.
두 번째 단계에서는 전통적인 머신러닝 기법에서 사람의 관여가 어디에서 필요한지를 명확히 알 수 있었습니다.
세 번째와 네 번째 단계에서는 딥러닝이 사람의 개입 없이 어떤 식으로 연산이 이루어지는지를 이해하며 방향성을 파악했습니다.
그러나 다섯 번째 단계에서는 어려움을 느꼈습니다. 초거대 모델, 제로샷, 퓨샷 개념을 정확히 이해하기 어려웠으며, 프리 트레이닝 후 실제 태스크 수행은 문장 입력을 통해 이루어진다는 정도의 개념만 이해하고 넘어가야 했습니다. 현재 사용하는 챗GPT와 관련이 있다는 점은 이해했지만, 여전히 완벽한 이해는 부족하다고 느꼈습니다.
그 이후에는 딥러닝 기술의 다양한 종류에 대해 학습했습니다. 예제를 통해 학습하니 이해가 한층 쉬워졌습니다. 특히 인식, 자연어 처리, 생성 등 다양한 분야에서 딥러닝이 어떻게 활용되는지를 배우면서 "딥러닝이 어디까지 적용될 수 있을까?"라는 궁금증이 생겼습니다. 이번 학습을 통해 그 범위를 조금이나마 알게 되어 매우 유익했습니다.
또한, 학습 방법에 대해서도 교사 학습, 비교사 학습, 강화 학습을 배웠습니다.
이는 이전에 머신러닝을 공부하면서 접했던 개념들이라 비교적 이해하기 쉬웠습니다. 이러한 학습 방식들이 딥러닝에서 어떻게 응용되는지를 배우며, 기존 지식을 더욱 탄탄히 다질 수 있었습니다.
알고 있던 걔념이 조금은 있었던 학습
인공신경망 개념을 배우면서 완벽하게 이해하지는 못했지만, 이전에 사용해보고 개념을 접했던 경험이 있어 "아는 개념이구나!"라는 반가움이 들었습니다. 이 점이 오히려 학습을 더욱 즐겁게 만들었습니다.
퍼셉트론에 대해서는 뉴런을 어떻게 모방했는지가 궁금했었는데, 이번 학습을 통해 가중치와 활성화 함수를 활용한 신경망 모델의 작동 방식을 이해할 수 있어 흥미로웠습니다.
알고리즘과 관련된 부분에서는 여전히 어려움을 느꼈습니다.
경사하강법이나 여러 최적화 방법론은 아직 깊은 이해가 부족해 "이런 것들이 있구나" 정도로 개념을 정리하고 넘어가기로 했습니다.
특히 역전파 알고리즘은 이해가 어려웠지만, 강의의 실습을 통해 적용 방식과 학습의 흐름을 어느 정도 파악할 수 있었습니다.
비록 직접 구현해보기는 아직 어려울 수 있지만, 큰 틀에서 개념을 이해하게 되어 유익했습니다.
손실 함수는 이전에도 사용해본 경험이 있어 어렵지 않았습니다. 오차 관련 개념은 비교적 익숙해 개념적 접근이 수월했습니다.
모델 선택과 관련해서는 어떤 모델을 선택해야 할지에 대한 막연한 고민이 있었는데, 강의를 통해 더 나은 선택 기준을 배울 수 있었습니다.
그러나 여전히 과적합 문제나 코드 작성 시 발생하는 오류 해결은 실전 경험을 통해 더 깊이 익혀야 할 부분이라고 느꼈습니다.
또한, 배치 정규화, 그룹 정규화, 인스턴스 정규화, 레이어 정규화 등 다양한 정규화 방식이 있다는 점도 새롭게 배운 점이었습니다.
DNN, CNN, RNN 모델을 배우면서 개념 자체는 이해가 되었지만, 이를 실제 프로젝트에서 어떻게 사용하는지는 아직 명확히 와닿지 않았습니다. 특히 CNN은 다양한 파라미터 조정을 통해 데이터 출력을 수정할 수 있다는 점이 흥미로웠습니다. 비록 현재는 익숙하지 않지만, 학습을 통해 점차 익숙해지고자 합니다.
항상 머신러닝을 하면서도 가중치에 대해서는 생각만 했지 실제로 적용해본 적은 없었는데, 이번 학습을 통해 적용 방법을 배우게 되어 흥미로웠습니다. 전이 학습, 자기 지도 학습, 생성 학습 등 다양한 학습 기법도 접하게 되었지만, 이를 직접 활용하기에는 아직 기술적으로 부족하다고 느꼈습니다. 우선은 개념 이해에 집중하고 실력을 점진적으로 쌓아가야겠다고 다짐했습니다.
또 만난 행렬...Pytorch
PyTorch는 이전에도 가끔 들은 적이 있었지만, 정확히 무엇을 하는지는 잘 몰랐습니다.
이번 학습을 통해 PyTorch가 딥러닝 모델을 구축하고 학습시키는 데 유용한 라이브러리임을 알게 되었습니다. 특히, 신경망 구성과 모델 훈련, 백엔드 계산을 자동으로 관리해주는 강력한 프레임워크라는 점이 인상적이었습니다.
PyTorch는 텐서(Tensor) 연산을 통해 데이터를 다룰 수 있으며, 역전파 알고리즘을 자동으로 수행해 모델 훈련을 효율적으로 지원합니다.
텐서는 다차원 배열의 형태로 데이터를 표현하며, 수학적 연산과 GPU 가속을 통해 빠른 연산이 가능합니다. 이를 통해 복잡한 신경망 구조와 모델을 유연하게 설계할 수 있었습니다.
또한, 행렬 연산이 PyTorch의 핵심이라는 점도 새롭게 배웠습니다. 행과 열을 구분하는 개념이 어릴 때부터 헷갈렸던 탓에 행렬 연산은 여전히 어려운 부분으로 남아 있습니다. 정규 교육과정에서 행렬을 배우지 않았고, 대학 1학년 때 잠깐 접했던 경험이 전부라 새롭게 학습할 필요성을 느끼게 되었습니다.
PyTorch를 사용하는 법을 배우면서 행렬 연산과 신경망 구조에 대한 이해가 필수적임을 깨달았습니다. 앞으로도 꾸준히 학습하고 이를 통해 더욱 탄탄한 지식을 쌓고 싶습니다.
많이 어렵다고 느낀 이번의 학습
이번 학습을 통해 딥러닝과 PyTorch의 핵심 개념들을 배우고, 데이터 처리와 모델 구성의 기초를 다질 수 있었습니다.
어려운 내용이 많았지만, 개념을 차근차근 정리하고 실습을 통해 이해를 넓혀가는 과정이 유익했습니다.
복잡해 보였던 신경망 모델이 점차 이해되면서 배우는 재미가 커졌습니다.
앞으로는 더 깊은 이론과 실제 프로젝트에 적용할 수 있는 실력을 갖추기 위해 꾸준히 노력하겠습니다.
프로젝트 기반 학습을 통해 다양한 모델을 직접 설계하고, 응용 사례를 통해 실력을 향상시키며 성장하는 개발자가 되겠습니다.
'Upstage AI LAB 부트캠프 5기 > 성장 기록' 카테고리의 다른 글
추천 시스템 프로젝트, 첫 ML프로젝트 도전 (4) | 2024.12.11 |
---|---|
처음 나선 경진대회, 도전과 성취의 여정 (3) | 2024.11.15 |
Git 수업 후기: 협업과 관리의 필수 도구를 배우다 (5) | 2024.10.29 |
코딩 테스트의 첫걸음: 컴퓨터 공학을 처음 배우며 (3) | 2024.10.22 |
익숙하지만 새롭게: 통계학 복습 후기 (6) | 2024.10.12 |