인공지능 융합전공을 하면서 다양한 인공신경망을 접하고, 모델을 구현해 본 경험이 있다. 그러나 정말 나는 구현을 할 수 있는 사람인지는 고려해봐야 할 문제다.
컴퓨터비전 수업에서 교수님이 나의 질문에 대해 이렇게 말씀하셨다. 그런식으로 했다가는 싸구려 엔지니어밖에 안된다. 싸구려 마인드를 가지지 마라.
싸구려 마인드로 살아와서 어쩔수는 없다고 생각한다. 교수님이 나의 지도교수님이었다면 좋았을 것을
그럼 모델의 구현이란 무엇인지 문제의 정의부터 돌아가 보자.
모델의 구현
- 이미 구현된 model을 나의 Custom dataset에 맞춰 사용하기
- 이런게 무슨 구현이냐 싶을수도 있지만 넓게 보면 구현이라고 생각한다.
- 타인의 구현을 보고 필사하기
- paperswithcode / 저자의 github implementation 역시 참고할 수 있다.
- 이 과정에서 나라면 어떻게 했을지 비교할 수 있다.
- 논문을 보고 바닥에서부터 구현하기
- 논문에서 생략하는 부분이 많은 경우 쉽지많은 않은 작업이다.
- 바닥에서부터 라고 하지만 Pytorch를 사용하는 것이 여러모로 편하다.
나는 1~2번을 주로했고 구현을 할 수 있는 능력이 있다고 믿었다.
하지만 3번 역시 의미가 있고 중요한 작업이라고 생각하기에
이 시리즈에서는 3번을 중점으로 두되 2번을 겸하는 방식으로 진행하려고 한다.
순서는 쉽고 간단한 모델부터 시작해서 내가 흥미있는 주제 위주로 진행할 예정이다.
처음이다보니 이러한 순서가 적합한지는 알 수 없지만 해보면서 수정을 하려고 한다.
첫 번째 모델은 AlexNet(2012) / citation : 100000+ 이다.