본문 바로가기

COMPUTING/AI

회상 & 혼공 머신러닝 + 딥러닝 3주차 공부 인증

회상

어느 분야를 공부하든, 왜 이 공부를 하는지 알고 있는지는 굉장히 중요한 부분이라고 생각합니다. 장기적으로 보았을 때 공부를 끝까지 해낼 수 있느냐에 큰 영향을 미치기 때문이죠. 예를 들어, 어렸을 적 배우던 국영수는 앞으로의 대학공부를 위한 기초적인 피지컬을 향상하는 과목들이죠. 국어는 문해력 상승을, 수학은 수리력&논리력 상승을, 영어는 더 넓은 소통 능력을 지니게 해 주죠. 그래서 긴 시간 수험생활을 하면서 이 세 과목들은 나중에 제가 원하는 공부를 할 때, 분명 자양분이 될 것이라고 스스로에게 암시를 걸면서 버텼던 기억이 있네요. 나중에는 즐기는 수준까지 되었으니, 공부에 임할 때의 생각은 꽤나 큰 도움을 주는 것 같습니다.

저는 원래 인공지능을 배우려고 한 학생은 아니었습니다. 물론 학교에서는 4차 산업혁명과 인공지능, 빅데이터에 대해 시도 때도 없이 떠들어댔으니 미래에 유망한 기술이라는 건 당연히 알고 있었습니다. 어떤 일을 하는지도요. 그런데 저는 이런 분야에 몸담기보다는 당장 생명을 다루는 생물학을 배우는 게 훨씬 좋아했습니다. 그래서 그 분야로 진학하기를 희망했었죠. 때문에 인공지능은 어쩌면 제겐 스쳐 지나가는, 나중에나 다시 만날 그런 분야였습니다.

그런데, 재수를 하고, 재수 입시 성적이 좋지 않아서 조금 대학을 낮게 봐야 하는 상황이 왔었습니다. 그래서 어느 과를 쓸까 고민하던 차에 이제 막 정부에서 육성 중인 인공지능학과들에 눈이 들어오더라고요. (대학가 인공지능학과 설립 열풍…올해 새로 생긴 42개대는 어디?. (2021). https://www.aitimes.com/news/articleView.html?idxno=137332.)이 학과들 역시 신입생들을 유치하려고 장학제도도 빵빵했었고, 비전은 당연히 있었으니 안정 지원으로 해당 학과를 지원했었습니다. 정시 모집에서 가장 가고 싶었던 대학은 못 붙고 나서는 별생각 없이 이 과에 진학했습니다.

객관적으로 봤을 땐 붙은 다른 곳이 훨씬 입결은 좋았습니다. 그러나 재수를 말아먹은 터라 어머니께 너무 죄송했어서 등록금은 절대 내지 말아야겠다는 생각이 가장 컸어서 해당 학과는 배제를 했습니다(등록금이 비싼 유명 사립대였기 때문!). 그리고 학교 다니면서 무휴학으로 한번 더 수능을 볼 계획이었어서 인공지능학과에서 학점을 편하게 따려는 의도도 있었습니다.
그런데 막상 다녀보니 제 생각이 많이 달라지더군요. 일단 생물공부하던 학생이 코딩 덕후들을 따라가기는 정말 힘들었습니다. 전공과목은 A 받기 굉장히 힘들더라고요... 그리고 인공지능이 다양한 분야에 적용할 수 있는 여지가 엄청 많다는 것을 알게 되었어요. 그래서 인공지능이 되게 매력적으로 다가와서 하마터면 그 학과에 정착할 뻔했습니다.

결과적으로 저는 한번 더 시험을 쳐서 원하는 학과에 입학에 했습니다. 학생부 종합전형이었어서 면접을 봤었는데, 그때 삼수 나이를 커버 치는데 인공지능학과의 경험이 큰 도움이 되었습니다.

인공지능을 배우다 보니 오히려 지원 학과에 더 진학하고 싶어 졌습니다. 인공지능을 접목해서 새로운 변화를 일으키고 싶습니다!

이런 식으로 말했던 기억이 있습니다. 이러한 준비 하지도 않은, 제 날것의 생각들을 툭툭 뱉었는데, 이때 제가 이 인공지능을 각별하게 여기고 있다는 것을 함께 알게 되었어요.
그래서 이렇게 인공지능 공부를 틈틈이 하려고 합니다. 인공지능에 대해 공부하는 것은 저의 미래 경쟁력을 높이는 일기도 하지만 그 이전에 제가 하길 원하는 공부이기도 하니 즐겁게 임하려고 합니다. 그러다 보니 이번 겨울방학 전에 혼공학습단을 알게 된 것은 정말 행운인 것 같아요. 저번 여름방학에는 AI 강연정도만 찾아서 본 것 말고는 한 게 없었거든요 하하;

다음 방학에는 전적 대학의 커리큘럼을 참고해 혼공학습단의 도움을 받으면 계속 공부할 생각입니다. 그리고 제가 원하는 꿈으로 계속 전진할 수 있도록 노력해 보겠습니다. 그럼 시작하죠!

CHAPTER 4 다양한 분류 알고리즘

챕터 4는 확실히 이 전 챕터와는 차원이 다르게 어려웠습니다. 분량은 더 적었지만, 밀도가 엄청나다고 해야 할까요? 인공지능에 드디어 확률이 개입하니 여러 가지 생각이 들었습니다. 가장 강하게 떠오른 건 역시 베이즈 주의네요. 이 책에서 다뤄줄지는 모르겠지만 일단은 좋습니다.
이번 챕터에서는 로지스틱 회귀와 확률적 경사 하강법에 대해 배웁니다. 경사 하강법에 대해 저번 포스팅에서 언급을 했었는데, 이 책에서 바로 만나니 기분이 오묘했네요. 그런데 제 포스팅이나 여기 책이나 설명은 그리 좋진 못한 것 같습니다. 이게 말과 그림으로 간단히 비유로 설명으로 퉁쳐서 끝날일인가 싶습니다. 굉장히 중요한 내용인데... 뒤에 또 자세한 설명이 나오겠죠? 아무튼 1절에서는 로지스틱 회귀에 대해 배우고 2절에서 확률적 경사 하강법을 배웁니다.

제가 첫 1주 차 공부 인증 포스팅을 쓸 때, 전적대에서 숫자 인식 머신러닝 모델을 만들어 보고서를 제출했다고 했었습니다. 그때, 배치(batch)에 대해 배운 적이 있습니다. 배치의 크기가 역시 적절해야 학습이 제대로 이루어질 수 있다는 점 역시 배울 수 있었습니다. 너무 사이즈가 크면 훌쩍 경사하강해 버리기 때문에 정확하지 않고, 너무 사이즈가 작으면 많은 계산을 진행해야 하니 학습 효율이 떨어진다는 것이죠. 이 책에는 아직 이런 내용까진 다루지 않았지만, 그때 생각도 나고 여러모로 기분이 괜찮았습니다.
로지스틱 회귀 모델에 대해서는 사실할 이야기가 별로 없습니다. 이번에 처음 배웠거든요 ^^ 그러나 시그모이드 함수에 대해서는 이미 알고 있었습니다. 인공지능에 대해 어느 정도 배경이 있으신 분들은 알겠지만, 손실함수뿐만 아니라 나중에 활성화 함수라는 것도 알게 되는데 이것이 아주 중요합니다. 이 시그모이드 함수가 가진 한계를 보완한 활성화 함수 중 하나가 그 유명한 ReLU 함수라고 있습니다. 이 함수와 함께 시그모이드 함수를 어찌나 교수님들이 귀에 못 박히도록 이야기를 하셨는지 아직도 기억이 남아있습니다. 그래서 이 함수는 지금 손실함수를 다루면서도 중요하지만, 나중에 딥러닝을 배우면서도 다시 나올 테니 계속 염두에 둘 필요가 있어요.

저번 주차는 주로 회귀모델을 다뤘는데, 이번 주차는 분류 모델만을 다뤘습니다. 그것도 이진 분류를 넘어선 다중 분류를 위한 다양한 메커니즘의 기법들을 배웠습니다. 두 절의 연관성은 크게 있진 않지만, 모두 딥러닝에서 중요한 내용이라고 하니(챕터 7 시작 부분에 적혀있더라고요), 각각을 잘 기억해 둡시다.

4-1

지난 챕터와 크게 다를 것 없는 전처리 과정
로지스틱 회귀 모델로 이진/다중 분류를 진행
뭔가 사연이 많아보이는 4-1 코딩 캡쳐 사진들...

4-2

아래 ConvergenceWarning은 충분한 횟수로 학습을 진행하지 않았기 때문
과대적합/과소적합을 막기 위해 훈련세트/테스트세트 정확도 그래프를 그린 모습. 가장 적절한 에포크 수인 100을 하이퍼 파라미터로 선택, 학습하자
확률적 경사하강법을 에포크 100으로 훈련시키니 높은 정확도를 나타내며 종결짓는 모습.

 

기본 미션과 선택 미션

기본 미션
Q. 로지스틱 회귀가 이진 분류에서 확률을 출력하기 위해 사용하는 함수는 무엇인가요?
A. 로지스틱 회귀 모델은 다중 분류 시 2번 선지인 소프트맥스 함수를 사용하며, 이중 분류시 1번 선지인 시그모이드 함수를 이용합니다. 두 함수 모두 z값을 0~1 사이의 확률값으로 변환시켜 출력하는 함수들이죠. 이 확률값을 이용해 분류를 진행합니다.

선택 미션
위에 과대적합/과소적합 관련 코딩 사진을 올렸습니다. 두 문제를 해소시키기 위해 에포크를 조절했었습니다. 저번 챕터는 alpha값을 조절했는데 이번에는 epoch값이네요. 둘 다 하이퍼파라미터로 봐도 무방하겠습니다.

혼공 머신러닝 + 딥러닝 3주차.pdf
14.18MB

마무리 및 소감

점점 더 어려워집니다... 정신 차리지 않으면 이게 무슨 소리인가 싶어요. 그럴 때마다 다시 꼼꼼히 읽어가고, 필요할 땐 검색하면서 스스로 노력하려는 자세를 취하게 됩니다. 그렇지만 그래서 재미있는 법입니다. 뭐든지 쉽게 얻는 것은 매력이 전혀 없습니다. 내가 노력하고 내가 움직일 때, 비로소 내 것이 되는 것 같아요.

저번 주 일요일, 그니까 15일에는 분당 사는 동기 만나러 행차하고 왔습니다. 저녁에는 근처 다른 동기들도 불러서 웨이팅 하는 맛집에서 즐거운 시간을 보냈습니다. 그러고 집으로 오는 길은 꽤 피곤하더라고요ㅜㅜ 그래서 그날은 일찍 잤고, 다음날 집에서 조신하게 지내며 3주 차 과제를 미리미리 끝내야겠다고 생각했습니다. 공부는 16일에 진작 다 했는데, 글까지 무미건조하게 써 버리기엔 뭔가 아쉽더라고요. 그래서 제가 인공지능에 대해 공부를 하게 된 경위에 대해 꽤나 긴 제 과거와 함께 적게 되었습니다. 제가 누군지, 제가 지금 뭐 하는 녀석인지 싹 다 까 버리고 싶은 욕구가 많이 들긴 했는데, 일단은 꾹 참고 인공지능 관련 위주로 적어봤습니다.

저번 주에 써 둔 기타 연습은 잘 마무리했습니다. 그러나 그 주차 기타 연습이 끝난 것이고, 이번 주차 기타 연습 역시 해야 합니다... 영상 찍을 때, 계속 틀려서 많이 슬펐는데 이번에도 그럴까 봐 걱정됩니다. 그래서 오늘은 이렇게 혼공 과제를 마무리 짓고 내일은 기타 연습에 힘을 실을 생각입니다. 그리고 금요일에는 막 군대 제대한 제 고등학교 동창들을 기분 좋게 만나러 갈 생각입니다 ㅎㅎ
(그.. 한 분께서 제 기타 연주를 듣고 싶어 하시는데... 제 연주는 꽤나 위험합니다(?) 1월 중에는 조금 힘들고, 2월 중에 이제 학교에서 살면서 연습할 생각인데, 그때 가서 괜찮겠다 싶으면 한번 올려보겠습니다)

다음 주는 벌써 구정이네요. 가족들과 즐거운 명절을 보내면서 행복한 하루하루 속에 살아가시길 바라겠습니다. 그럼 모두모두 새해 복 많이 받으세요!