본문 바로가기
학부생의학부연구생/_retrospect

학부연구생 - 8주차 회고록

by 호상 🐧 2022. 3. 6.

8주차 회고록을 작성 합니다 (❁´◡`❁)

아무래도 연구실 생활을 하며 느낌점 같은것을 작성하기 위한 카테고리인 만큼 여러가지 사족을 최대한 빼면서 작성해야 겠다고 생각이 든다.

일단 현재 진행 상황과 4주차 회고록과 비교 하며 작성해 보겠습니다.

석사과정 선배님들이 돌아왔어요!


미국에 가셨던 석사과정 선배님들께서 2주전에 귀국하셨고, 자가격리가 끝난 후 출근을 하셨습니다.
비록 1달 밖에 얼굴을 트지 않았지만, 생각보다 훨씬~ 반가움이 앞섰습니다. 얼굴을 뵙고 많이 반가웠지만, 혹여 폐가 될까 표현을 잘 하진 않았지만,,,,,, 혹여 이글을 보신다면 제가 많이 반가움의 감정이 엄청 컸다는것을 알아 주셨으면,,,,,합니다.... 😂😂

선배님들께서는 얼마 보지 못한 저 까지도 선물을 챙겨 주셔 굉장히 감사한 마음을 가지고 있습니다....

연구실에 제법 녹아 들었지 않나...?


지금은 확실히 4주차 때 보다 많이 익숙하며 자연스럽게 녹아 들었다고 생각한다. 그때 당시 퇴근이 눈치 보인다고 했는데 확실히 지금도 조금...... 눈치가 보인다.
4주차 이후에 석사 과정 선배님들께서 미국에 가셔 박사과정 선배님들과 식사나 이야기 할 기회가 확실히 늘었다고 생각이 들고, 진로나 연구실 이야기, 전공의 심화... 과정에 대해 이야기하고 얘길르 들으면서 확실히 박사과정인 선배님들께서 하시는 말씀들이 하나가 같이 주옥(주옥입니다..!) 같아 motivation 도 받고 스스로 뭔가 마음을 단단하게 만들었던 계기가 되지 않았나 싶다. 자유롭게 하라는 교수님, 연구실 분들에게 무척이나 감사한 마음이 들기도 하고, 방학기간 나 스스로의 정체 구간을 벗어나 성장하는 계기가 되지 않았나 생각이 든다.

4주차부터 8주차까지 무엇을 했는가?


딥러닝 강의 수강을 끝낸 후 실제 석사 과정을 밟으로 오시는 분들이 진행하는 간단한 학습(?) { c 를 이용한 cnn 구현 } 을 진행하였다. 몇단계를 거쳐 cnn 에 대해 학습해 나가는 것인데 현재 까지는 아직 2단계를 진행 중이다.

1단계에서는 convolutional layer 를 구현 하는것인데 1주일정도 걸린것 같다. 학교 커리큘럼 상 java를 상당히 오래 사용한 나로선 c 에대해 어느정도 한다! 라고 말할 수준이 아니었기에 그 부분에서 조금 시간을 지체 하지 않았나 싶고, 두번째로 이론으론 알겠는데 convolutional layer 를 직접 구현 하려고 하니 처음엔 그저 구상에 고민하였고, 중간엔 인덱스 처리에 고생하였고, 마지막에 가선 result 를 하는것에 고생한것 같다.

다만 이렇게 고생한 이유를 열거 해보자면 , 먼저 3차원 배열을 사용하지 않았다는 점이다.
이부분에서 질문을 드렸는데 c 에서 3차원 배열을 사용하면 주솟값이 모호해지는 현상이 일어 날 수 있기에 1차원 배열을 사용하여 다룬다는 답변을 받았다.

그렇다..... 3차원 배열을 1 차원 배열로 만들어 사용하는 것이다.

이것에 대해 미리 짜여져 있고 내가 짜야 하는 코드가 있는데 미리 짜여진 코드에 삽입하는 과정이 작성되어 있었다.
확실히 생각보다 놀라웠다. 3중 for 문을 사용하여 in_ch , x , y 의 위치를 설정하며 삽입해 나가는 과정이 마냥 신기해 했었던것 같다.

이해를 돕기 위한.....?

이해를 돕기 위해 그림판에서 그림을 그려 왔다....😂😂

내 노트북이 지금 3d그림판이 작동 하지 않는 관계로 열심히 그려 보았는데 실패한것 같다....

아무튼 저런식으로 인덱스(파란색) 을 설정 하였다. 3번째 for문에서 input chenel 을 통해 채널이 이동할때 +1
2번째 for 문에서 width : x 가 이동할때 + input chenel
3번째 for 문에서 hight : y 가 이동할때 + input chenel + x

일단 나는 이해 했으니 뭔가 좀 이해가 안된다면 댓글로 물어봐도 무관하다.. 하지만 구글이 더 잘 알려줄것이다.

아무튼 3차원을 1차원으로 인덱스를 설정하고 새로운 map 을 생성하여 padding 과 동시에 복사하고 weight 을 통해 convolution carculration 을 하는 과정 이었는데 확실히 나에겐 어려웠던것 같다.

본 과제의 공유는 저작권이 걸려 있어 공유하지 못하지만 내가 스스로 복습하며 짜본 코드를 깃에 올렸으니 궁금하다면 한번 보시길 바란다.

https://github.com/rofe12/CNN/blob/master/Convolution%20Layer/Convolution_Layer.c

GitHub - rofe12/CNN: for deep Learning CNN study

for deep Learning CNN study. Contribute to rofe12/CNN development by creating an account on GitHub.

github.com


그럼 이것을 1주일 동안 했는데 남은 3주는 무엇을 하였는가? 라고 생각이 들 수 있다.

(☞゚ヮ゚)☞ 결론 부터 말하면 남은 방학 2주는 놀았다 ☜(゚ヮ゚☜)

나도 대학생활좀 즐겨야 하지 않겠는가? 방학내내 학교에 쳐박혀 있는건 아직 학부생 이제 3학년 올라가는 학생에게 조금...가혹한것이 아닌가...?

따라서 놀았다. 동기들과의 좋은 추억도 만들고 집에 쳐박혀 만화나 영화도 보고 전주에 계신 아부지 할머니도 만나 뵙고 했다.

그럼 이번주는 뭘했는데?


이번주는 2단계인 convolution lowering 을 구현 중에 있다. convolution lowering 의 설명은 구글이 자세하게 알려줄것이다. 궁금하다면 찾아보아라. 지금 현 상황에서는 인덱스 작업을 다끝냈다고 생각했는데 정답이 맞지 않아 열심히 디버깅 중이다. 어디서 잘못했는지 무엇을 빠뜨렸는지 도무지 알 수가 없다. 평일에 열심히 연구실을 다니며 디버깅 해보았지만 결과는 오리무중 상태이다.

또한 이것에 대한 연구 논문이 있다. 유명 논문으로 14년도에 엔비디아에서 발표한 것이 있는데 자신이 영어 실력이 된다면 읽어 보는것을 추천한다. 왜냐하면 박사과정 선배님께서 굉장히 좋은 논문이니까 읽어 보라고 하셨기 때문이다. 필자는 ......... 영어 실력이 똥이라 아직 절반 조차 읽지 못한 상태이다.......

8주차 회고록


아무튼 어찌저찌 학기가 시작하여 방학처럼 연구실에 출근하지 못한다는 사실이 좀 아쉬울 따름이다.

하지만 방학때 열심히 한 덕분에 내스스로가 한단계 업그레이드 되지 않았나 싶다. 3학년 수업 중 딥러닝의 개념이 툭툭 튀어 나올때가 있는데 기쁘기도 하고 내가 알고 있는것에 대하여 '확실히 방학때 공부하길 잘했다' 라는 생각이 든다. 박사과정 선배님 께서 이번학기에 얼른 cnn 학습과정을 때고 darknet 을 뜯어 보아라 하셨는데 학과 수업과 더불어 열심히 해봐야 겠다.

방학동안 열심히 달린 나에게 아주 칭찬해!
이번학기는 작년 2학기처럼 멘탈 나가서 방황하지 말고 가늘고 길게 힘내보자 ! (●'◡'●)

'학부생의학부연구생 > _retrospect' 카테고리의 다른 글

학부연구생 - 28주차 회고록  (0) 2022.07.26
학부연구생 - 24주차 회고록  (2) 2022.06.27
학부연구생 - 12주차 회고록  (4) 2022.04.03
학부연구생 - 4주차 회고록  (0) 2022.02.03
회고록  (0) 2022.01.20

댓글