안녕하세요. 연구실에 들어온 지 얼마 안 된 것 같은데 벌써 새해를 맞이하여 X-diary를 작성하게 되었습니다. 이번 글에서는 제가 그동안 기초 교육을 받아 온 내용들과 느낀 점, 배운 점에 대해 써보려고 합니다. 또한, 지난 주부터 정식으로 다크데이터 팀에 들어가서 팀 교육을 받기 시작했는데, 새해에 이루고 싶은 목표도 함께 기록해보려고 합니다.
먼저 기초 교육에서 배웠던 내용을 정리해보았습니다.
- 9월 1주차: 머신 비전 시스템 강의 수강
- 9월 2주차: Bovw 실습 및 머신 비전 내용 점검
- 9월 3주차: Bovw 실습, 성능 개선
- 9월 4주차: VLAD 실습 및 성능 개선 (Spatial Pyramid Matching, PCA), 딥러닝 이론
- 10월 1주차: 딥러닝 이론
- 10월 2주차: 딥러닝 이론 점검
(중간고사)
- 11월 1주차: 딥러닝 이론 복습
- 11월 2주차: ResNet 논문 읽기 & 원복 (baseline을 못넘겨 일정 지연)
- 11월 3주차: ResNet 원복
- 11월 4주차: DenseNet 논문 읽기 & 모델 구현
- 11월 5주차: GAN 논문 읽기
- 12월 2, 3주차: 기말고사
- 12월 4주차: 기초 교육 복습 & GAN 논문 구현 & Numpy Backpropagation 실습
- 1월 1주차: 기초 교육 복습 & GAN 논문 구현 & Numpy Backpropagation 실습
그동안의 일정들을 돌이켜보니 많은 내용들을 공부한 것 같습니다. 첫 주차에 머신 비전 강의를 수강할 때는 urp 때 배웠던 내용들과 많이 겹치는 부분이 있어서 공부하기 수월했던 것 같습니다. 그러나 Bovw 실습으로 넘어가면서 VLAD, Spatial Pyramid Matching, PCA 등의 기법들을 알게 되었는데, 이들 방법론은 이해는 되지만 왜 성능 향상에 도움이 되는지는 이해하기 어려웠습니다. 그 이후에는 ‘파이토치 딥러닝 마스터’ 책으로 딥러닝 이론과 파이토치에 대해 공부하게 되었는데, 이때 파이토치 문법에 대한 이해를 크게 높일 수 있었습니다.
그 다음으로 ResNet 논문을 읽게 되었는데, 처음에는 왜 이 방법론이 성능이 좋게 나오고 효과가 있는지 이해하기 어려웠습니다. 논문만을 가지고 이해하려 노력했지만 진전이 없는 상태로 코드 구현으로 넘어가게 되었습니다. 코드 구현은 resnet-20을 목표로 했기 때문에 모델은 비교적 구현하기 수월했습니다. 그러나 반복되는 구조를 함수를 사용해서 구현하는 게 아닌 일일이 변수를 선언하여 코드를 구현하다 보니 코드가 길어져 가독성이 떨어지고 오류 및 디버깅이 어려웠습니다. 그래서 모델을 구현했다고 이게 끝이아니구나 코드의 가독성, 모듈화 등의 보완이 필요하다는 것을 절실하게 느꼈습니다. ResNet을 원복하고 나서 basecode를 저의 코드와 비교해보니, 잘 짜여진 코드는 무엇인지 확실히 알 수 있었습니다. 이후 basecode를 활용해서 DenseNet 원복을 해보니 모델을 구현하기 수월하고 오류도 줄어들어 코드 모듈화의 중요성을 다시 한 번 느낄 수 있었습니다.
다음으로 GAN 논문을 읽었는데, 적대적 신경망을 처음 알게 되었습니다. 지금까지 공부한 내용과는 다른 신박한 개념이여서 흥미로웠고, 모델을 꼭 구현해보고 싶다는 생각을 했습니다. 그 이후 기말고사 기간에 수강 과목들의 공부를 하고 종강을 하고나니 마음이 헤이해진 것 같았습니다. 그래서 연말에는 딱히 공부한 게 없는 것 같아 아쉬웠습니다. 다행히도 저의 들뜬 마음을 사수 분들이 잡아주었고 해야할 일들이 생기고 나니 마음을 다 잡고 열심히 할 의지가 생겼습니다.
신년에 제가 꼭 이루고 싶은 목표는 3가지로 정했습니다.
- 발표 능력을 기르자
연구실 생활을 하면서 가장 어려운 것이 뭐냐고 한다면, 저는 세미나 발표인 것 같습니다. 발표를 잘하고 싶어서 항상 열심히 준비하고 가장 시간을 많이 할애하지만 막상 발표를 하고 돌이켜보면 디테일이 부족해서 완성도가 낮았던 것 같습니다. 그동안 세미나를 준비하면서 느꼈던 것은 발표 내용을 확실하게 이해해야 설명도 잘 할 수 있다는 것이었습니다. 너무나도 당연한 내용인데 항상 까먹고 부차적인 것들에 집중한 것 같습니다. 감사하게도 주영님과 재연님이 내가 집중해야 할 부분, 보완해야 할 부분들을 피드백해주셔서, 저는 그저 열심히 공부하고 단점들을 매꿔나간다면 발표 능력이 좋아질 거라고 생각합니다.
2. 코딩 실력을 기르자
저는 지난 학기에 교수님의 인공지능 과목을 수강했는데 많은 부족함을 느꼈습니다. 구글링을 할 수 있을 때는 문제를 쉽게 해결할 수 있었는데, 공식 문서만 참고해서 코딩을 할 때는 왜 오류가 나는지 찾기도 힘들었고 함수를 활용하기도 어려웠습니다. 또한 논문의 모델을 직접 구현해보았을 때 느꼈던 모듈화의 장점을 알게되면서 코딩을 더 열심히 해야겠다고 생각했습니다. 이제부터는 ‘ctrl + v’를 줄여볼 생각입니다.
3. 다크데이터 지식을 많이 쌓자
이제부터 정식으로 다크데이터 팀에 들어오게 되었습니다. 다크 데이터를 다루기 위해서 해당 분야의 연구 논문을 많이 접해보고 정리해서 최신 연구 동향을 파악하는데 집중하고자 합니다. 또한 주영님과 재연님과 많이 소통하고 조언을 구해 전문성을 향상 시키는 것을 목표로 삼겠습니다.