개발자로 후회없는 삶 살기
네이버 부스트캠프 AI Tech 3주차 회고 본문
서론
본격적으로 딥러닝을 파헤쳐보는 3주차 느낀점을 기록합니다.
본론
- 얕은 지식 부수기 🚨
딥러닝의 기본적이자 필수가 되는 원리를 배우며 제가 가지고 있던 지식을 검증하고 새로운 사실을 배우는 시간을 가졌습니다. 결정적으로, 제가 "그러려니~" 알고 있던 얕은 지식을 부수고 보다 디테일한 사실을 습득할 수 있었습니다. 부스트캠프가 정말로 전문가를 양성하는 과정임을 제대로 느끼는 시간이었습니다.
1) cnn의 모토는 깊이는 깊게 하면서 w를 줄여 일반화 성능을 높이는 것
2) w가 적을수록 성능이 좋아서 최신 트렌드는 앞 단의 conv를 깊게 쌓고 뒷단의 fc를 얕게 쌓는 것
3) w의 수를 줄이기 위해 1 by 1으로 채널을 줄일 수 있고 최신 모델들은 3, 5, 7 보다 큰 필터 사이즈를 쓰지 않았다는 것
특히 CNN에서 제가 정립해온 내용이 어느 정도는 사실이지만 디테일한 이유는 몰랐던 부분을 파악할 수 있었습니다. 위 3가지의 경우 부캠이 아니라면 이유를 궁금해하지도 않았을 것처럼 보이지만 딥러닝, CNN, 컴퓨터 비전의 역사와 백본 네트워크의 근간을 위한 중요한 포인트입니다.
- 파이토치의 디테일
배치 노말라이제이션과 드롭아웃은 훈련 때만 사용하고 테스트 때는 안 되는 데 동일한 모델을 사용하니 테스트 때도 레이어를 거치게 됩니다. 그러면 불필요한 메모리 낭비인데 어떻게 해야 할까요?
-> train(), eval() ✅
파이토치에서는 train(), eval()을 정의하여 동일한 모델이 훈련과 테스트에서 다르게 동작하도록 할 수 있습니다. 이를 통해 메모리를 아끼고 인퍼런스 속도를 향상 시킬 수 있습니다. 현재 마스터님 수업에서 TF를 쓰는 사람이 없다고 하시는 데 그 이유를 알 수 있을 만큼 파이토치의 편리함과 섬세함을 알 수 있을 것 같습니다.
-> 모든 것은 nn.Module로 ✅
VIT 모델을 분석하면서 강의와 동일한 코드 구조에 놀라고 제 커스텀 CNN 모델과 학습 코드가 똑같아서 놀랐습니다. VIT 거창한 모델을 구현하면 학습 코드도 복잡할 거라 생각했는데 파이토치 프레임워크를 사용하면 동일한 학습 코드로 학습할 수 있었고 따라서 기본적인 규격을 정확히 이해해야 하는 것을 다시 한 번 느꼈습니다.
- AI 엔지니어로 꿈을 잡다
운 좋게 AI 엔지니어이신 멘토링과 매칭 되어서 제 진로에 대한 고민을 깊게 대화 나눌 수 있었고 그 과정에서 제가 오해하고 있던 부분을 분명히 짚어, 현재 제가 갈 방향을 명확하게 잡을 수 있었습니다.
-> 인퍼런스 서버는 파이썬? 자바? 🚨
위에 대한 질문은 모두 틀렸습니다. 인퍼런스 서버는 인퍼런스 노드로 만듭니다. ONNX와 TensorRt를 사용해서 인퍼런스 워커를 만들고 어플리케이션 서버에서 HTTP 호출하는 개념이었습니다. 저는 레벨 2부터 이쪽으로 강화하기 위해 노력할 것입니다.
1주 차부터 임성빈 마스터님께 질문 들렸던 고민에 대한 답변으로 진로에 혼란을 느꼈는데, 덕분에 복잡했던 마음이 편해졌습니다. 이 또한 부스트캠프에 들어온 이유라고 생각합니다.
- 최성준 교수님의 마스터 클래스 🚨
이번 주도 역시 한 주의 깨달음과 고민을 마스터 클래스로 정리하는 것 같습니다. 세상은 호락 호락하지 않고 간절함과 잉여력을 수반하는 세상 속에서 남들보다 뛰어나다는 것은 무엇일지 항상 고민해 보는 것이 중요할 것 같습니다.
'[AI] > [네이버 BoostCamp 회고]' 카테고리의 다른 글
네이버 부스트캠프 AI Tech 6주차 회고 (0) | 2023.12.11 |
---|---|
네이버 부스트캠프 AI Tech 5주차 회고 (0) | 2023.12.06 |
네이버 부스트캠프 AI Tech 4주차 회고 (0) | 2023.11.28 |
네이버 부스트캠프 AI Tech 2주차 회고 (0) | 2023.11.14 |
네이버 부스트캠프 AI Tech 1주차 회고 (0) | 2023.11.06 |