오늘한 일
- 알고리즘 문제를 풀었다
- 블로그 TIL을 작성하였다
- 1일 1커밋을 하였다
느낌 점
오늘 학교에서 뭔가 삘을 받아서 알고리즘 문제를 계속 풀다보니 어느새 알고리즘 300개 돌파와 CLASS 2⁺ 문제를 모두 풀었다 내일은 CLASS 2⁺⁺를 다 풀 수 있도록 노력 해야겠다 빠른 시일내에 골드 티어에 도달하고 싶다
배운 점
Convolutional neural network (CNN)
합성곱 신경망(Convolutional Neural Network, CNN)은 주로 이미지와 같은 2D 데이터를 처리하는 머신러닝 알고리즘이며 초창기 CNN을 개발한 사람들은 고양이의 시선에 따라 뇌에서 자극 받는 위치가 모두 다르다는 점을 착안하여 CNN의 아이디어를 얻었다
CNN은 자율 주행 자동차, 얼굴 인식 애플리케이션과 같이 객체 인식과 컴퓨터 비전이 필요한 분야에서 많이 사용하며 장점으로 CNN은 이미지를 인식하기 위해 패턴을 찾는 데 유용하고 데이터를 통해 특징을 스스로 학습하고, 패턴을 사용하여 이미지를 분류하고 특징을 수동으로 추출할 필요가 없다는 점과 기존 네트워크를 바탕으로 새로운 인식 작업을 위해 CNN을 재학습하여 사용하는 것이 가능하다는 점이 있다
하지만 단점으로는 Pooling 과정에서 정보손실이 발생할 수 있다는 점, 아키텍처의 깊이(depth)가 충분하지 않다면, 전체를 보고 feature를 추출할 수 없다늠 점, 파라미터수 감소로 인한 연산량은 감소가 있지만, 촘촘한 convolution(합성곱) 연산 수행을 위한 큰 연산량이 요구된다는 점 등이 있다
CNN 관련된 논문으로는 ImageNet Classification with Deep Convolutional Neural Networks(AlexNet) - 2012와 Rethinking the Inception Architecture for Computer Vision (Inception-v2~3) - 2016가 있는데 AlexNet은 CNN의 시작이기 때문에 사용할일을 적지만 그 자체로 딥러닝에 많은 의의가 있는 논문이며 Rethinking은 CNN 모델의 구성에서, 많은 Insight를 주는 논문 중에 하나로 필수로 읽어야 되는 논문중에 하나라고 평가받고 있다
진로 시간에 과제로 CNN에 관련된 내용을 PPT를 정리하라는 것을 받아서 자료를 찾아보고 정리하면서 해당 내용들을 알게 되었다
내일 계획
내일은 CLASS2 문제를 풀어 봐야겠다