저번주 랩미팅에서 교수님이 질문하셨던 선형함수와 비선형함수에 대한 내용, CNN의 Pooling 계층에 대한 내용, CPM에 대한 내용을 공부해보았다. 2주간 집에 있어서 2~3주만의 랩미팅이 되었다. 그 기간동안 주로 CPM 연구 논문을 읽었는데, 영어로 되어있어 해석하는 데에만 거의 2주가 걸렸다.(사실 2주 내내 해석만 한 것은 아니지만 해석을 다 했을 때는 2주가 지나있었다.)
표지는 이전 랩미팅에 사용했던 것과 같다. 사실 첫 시작은 Kinect 활용을 위해 관련 논문을 읽은 것이지만, 점점 다른 부분으로 공부가 나아가고 있는데 피피티의 제목도 바꿔야하는 것 아닌가 하는 생각이 들기도 한다.
마찬가지로 랩미팅의 첫 시작이라고 할 수 있는 논문을 슬라이드에 넣어주었다.
이 논문은 이번에 CPM 공부를 위해 새롭게 읽은 논문인데, 찾아보니 2016년에 작성된 논문이었다. CPM(Convolutional Pose Machines) 연구 논문이고, 읽으면서 이 내용을 다 이해하려면 기초 지식이 많이 필요할 거 같다는 생각이 들었다.
이번에 공부한 내용은 선형함수는 왜 여러 번 사용해도 선형함수인지, 비선형함수가 선형함수보다 더 좋은 이유는 무엇인지, CNN에서 Pooling 계층을 이용하는 이유는 무엇인지, CPM은 어떤 원리로 동작하는 것인지에 대한 것이다.
우선 선형 함수는 왜 여러 번 층을 반복해도 한 번 사용한 것과 같은지는 위 슬라이드의 내용만으로 이해할 수 있다. 그리고 비선형 함수가 선형 함수보다 좋은 이유, 즉 활성화함수로 비선형 함수를 사용하는 이유는 선형 함수와 달리 여러 번 층을 반복했을 때 달라지고, 이로 인해 딥러닝의 표현력을 향상시킬 수 있기 때문이다.
선형 함수와 비선형 함수에 대해 공부하면서, 활성화 함수의 역할에 대해 한 번 짚고 넘어가야겠다는 생각을 했다. 내용은 위 슬라이드만 보면 다 알 수 있다.
다음은 CNN에서 Pooling을 하는 이유에 대한 것이다. 이 내용도 위 슬라이드를 보면 알 수 있는데, 가장 중요하다고 할 수 있는 이유는 쓸데없는 정보를 줄이기 위해서이다. 풀링을 하면 입력 데이터의 사이즈가 줄어들어 정보가 사라진다고 볼 수 있는데, 사실 특징을 추출하는 데에 이미지의 모든 정보가 필요한 것이 아니다. 필요없는 정보까지 학습하고 특징을 추출해낸다면 과적합이 발생할 수 있다. 그렇기 때문에 특징 추출에 사용되는 데이터를 줄여 합리적으로 학습을 하도록 구성한 것이다.
CPM 논문을 읽고 가장 핵심 원리라고 할 수 있는 것을 정리해보았다. 우선, CPM은 1~T단계에 걸쳐 신체부위를 추정하는데, 1단계에서는 원본 이미지에서 각 신체부위의 위치를 추정하게 된다. 그리고 2단계부터, 원본 이미지와 이전 단계에 추정한 데이터를 함께 입력으로 받아 신체부위를 추정한다. 그래서 2단계부터는 하나의 신체부위를 추정할 때 다른 추정치들을 참고하여 더 정확한 분석을 할 수 있는 것이다.
오른쪽 팔꿈치를 추정하는 것을 예로 들어보면, stage1에서는 원본 이미지에서 각 신체부위를 추정한다. 그런데 해당 이미지에서 오른쪽 팔꿈치의 위치가 잘못 추정되어 있고, 오른쪽 어깨와 목, 머리 부분은 비교적 잘 추정되어있다. stage2부터는 다른 신체부위의 위치(이전 단계에서 추정했던 위치)를 참고하여 오른쪽 팔꿈치를 추정하게 되는데, 이때 비교적 정확한 어깨와 목, 머리의 위치가 팔꿈치 위치를 추정하는 데 도움을 줄 수 있다. 이런 식으로 다른 신체부위와의 상관관계까지 고려하여 관절의 위치를 추적하는 것이다.
<느낀점>
영어논문이 어렵긴 하지만 그래도 읽으니까 어느 정도 맥락은 이해가 되는 것 같다. 모르는 영어단어도 많고, 기초지식이 부족하다보니 모든 내용을 이해하지는 못했지만 다시 한 번 이 논문을 공부하며 완전히 이해해보고자 한다.
▼ 논문 관련 게시글
'MI Lab > Kinect - 2021.07~2021.10' 카테고리의 다른 글
[Kinect - Lab meeting] 손실 함수와 경사 하강법 - 2021.09.14.화 (0) | 2021.12.27 |
---|---|
[Kinect - Lab meeting] 기울기 소실과 역전파 - 2021.09.06.월 (0) | 2021.12.27 |
[Kinect - Lab Meeting] 신경망과 CNN - 2021.08.10.화 (0) | 2021.08.12 |
[Kinect - Lab Meeting] 스텔레톤 추출 - 2021.08.04.수 (0) | 2021.08.10 |
[Kinect - Lab Meeting] SL과 ToF - 2021.07.22.목 (0) | 2021.08.04 |