2021년 01월 둘째주 SSAC X AIFFEL AI 과정 회고 (Keep Going, Playing, Carpe Diem)
주요 일정
일자 | 요일 | 오전 | 오후 |
---|
01/11 | (월) | 텍스트의 다양한 변신 (문자열, 파일 다루기) | CS231n Lecture 03. Loss Functions and Optimization |
01/12 | (화) | 카메라 스티커앱 만들기 첫 걸음 | 카메라 스티커앱 만들기 첫 걸음 |
01/13 | (수) | Data 어떻게 표현하면 좋을까? 배열(Array)과 표(Table) | 6장 문자열 조작 |
01/14 | (목) | 영화 리뷰 텍스트 감성 분석하기 | 영화 리뷰 텍스트 감성 분석하기 |
01/15 | (금) | 딥러닝과 신경망의 본질 | 글쓰기 |
DAY 01 오전 : 텍스트의 다양한 변신 (문자열, 파일 다루기)
배웠던 것들
- 파이썬에서 텍스트 데이터 처리 방법
- 인코딩과 디코딩 : 문자열을 바이트로 변환 / 바이트를 문자열로 변환
- 문자열 다루기 : startswith, endswith, trimming, strip, upper, lower, capitalize, isupper, islower, istitle, isalpha, isalnum, isdecimal, join, split, replace
- Mutable Object & Immutable Object : list, set, dict / int, float, complex, bool, string, tuple, frozen set
- 정규 표현식 (re) : search, match, findall, split, sub
- 파이썬에서 텍스트 파일과 디렉토리에 접근하는 방법
- 파일 : write, read, readline, readlines, writelines, close, seek
- 디렉토리
- 모듈과 패키지 (sys, os, glob) : sys.executable, sys.path, sys.path.append, os.chdir, os.getcwd, os.mkdir, os.rmdir, glob.glob, os.path.join, os.listdir, os.path.exists, os.path.isfile, os.path.isdir, os.path.getsize
- 텍스트 파일의 종류 및 처리 방법
- CSV (Comma Seperated Value, pandas) : read_scv, head
- XML (Extensible Markup Language, beautifulsoup4, lxml) : Element, SubElement, tag, text, attrib, dump, write, append, insert, remove, pop
- JSON (JavaScript Object Notation) : with open
마음 가짐 그리고, 느꼈던 것들
추가적으로 공부하거나 더 공부해야 할 것들, 그리고 우선순위
DAY 01 오후 : CS231n Lecture 03. Loss Functions and Optimization
배웠던 것들
- Loss Functions : Multiclass SVM Loss (Hinge Loss)
- Regularization
- Softmax Classifier (Multinomial Logistic Regression)
- Optimization
마음 가짐 그리고, 느꼈던 것들
- 이해되는 내용도 있긴 했지만, 여전히 이해 못했던 내용이 더 많았던 듯...
- 어렵다 * 어렵다... 왜 log 함수를 쓰는지도 궁금하고, 어떤 대상을 행렬로 표현해서 연산을 한 건지 등등이 혼동된다...
추가적으로 공부하거나 더 공부해야 할 것들, 그리고 우선순위
DAY 02 전일 : 카메라 스티커앱 만들기 첫 걸음
배웠던 것들
- 동영상 처리, 검출, 키포인트 추정, 추적, 카메라 원근 기술
- dlib, opencv 라이브러리
- HOG(Histogram of Oriented Gradient) Feature, SVMSVM(Support Vector Machine) Sliding Window
- Face Landmark, Bounding Box
- Object Keypoint Estimation
마음 가짐 그리고, 느꼈던 것들
- 재밌는데, 이해하는 건 시간이 좀 걸릴 듯...
추가적으로 공부하거나 더 공부해야 할 것들, 그리고 우선순위
DAY 03 오전 : Data 어떻게 표현하면 좋을까? 배열(Array)과 표(Table)
배웠던 것들
- 데이터를 배열로 저장, list, numpy 사용법 학습
- 구조화된 데이터를 저장, dictionary, pandas 사용법 학습
- 이미지 데이터를 numpy 배열로 저장, 이해, 사용법 학습
- 자료 구조를 활용해 통계 데이터를 어떻게 계산하는지 학습
마음 가짐 그리고, 느꼈던 것들
- 초심!!! 실습해야 할 게 너무 많고, 촉박하다...
추가적으로 공부하거나 더 공부해야 할 것들, 그리고 우선순위
DAY 03 오후 : 6장 문자열 조작
배웠던 것들
마음 가짐 그리고, 느꼈던 것들
- 다양한 해법이 있지만, 역시나 예외 처리라든지 처리 시간 등도 중요한 요소로 지속적으로 벤치마킹해서 개선해야 한다는 사실을 깨달음
- 전부 다는 못 풀었는데, 남는 시간에 최대한 다 풀어봐야 할 듯
추가적으로 공부하거나 더 공부해야 할 것들, 그리고 우선순위
DAY 04 전일 : 영화 리뷰 텍스트 감성 분석하기
배웠던 것들
- 텍스트 데이터를 머신러닝 입출력용 수치데이터로 변환하는 과정
- RNN의 특징을 이해하고 Sequential한 데이터를 다루는 방법을 이해
- 1D CNN으로도 텍스트를 처리 가능함을 이해
- IMDB와 네이버 영화 리뷰 데이터셋을 이용한 영화리뷰 감성분류 실습 진행
마음 가짐 그리고, 느꼈던 것들
- DBR의 감성분석 활용사례는 정말 와 닿는 얘기였다. 다시 한 번 읽어봐야겠다는...
- 하지만 역시나, 워드 임베딩 기법 등은 복습이 필요
추가적으로 공부하거나 더 공부해야 할 것들, 그리고 우선순위
DAY 05 오전 : 딥러닝과 신경망의 본질
배웠던 것들
- 딥러닝과 머신러닝의 차이
- 딥러닝, 표현 학습이라고 하는 본질적인 이유
- 행동주의, 인지주의, 연결주의
- 신경망의 본질
- 선형성
- AI의 현재와 미래 : XAI
마음 가짐 그리고, 느꼈던 것들
- 딥러닝과 머신러닝의 차이에 대해 다시 한 번 공부하고 생각하고 정리할 수 있었던 시간이였으며, AI의 현재와 미래, 앞으로 해결해야 할 과제들에 대해 충분히 공감할 수 있었던 시간이였다. (AI를 공부하면서 모델들에 대한 검증, 특히 신경망에 대해 우리가 어떻게 신뢰할 수 있을까 라는 의문이 들었었는데, 그런 면에서 어느 정도 해소가 된 느낌이였다.)
- 하지만, 역시 행동주의, 인지주의, 연결주의, 선형성 등은 아직도 정확히는 이해가 가지 않았다.
추가적으로 공부하거나 더 공부해야 할 것들, 그리고 우선순위
- (2순위) 행동주의, 인지주의, 연결주의, 선형 등
- (3순위) XAI
DAY 05 오후 : 글쓰기
배웠던 것들
마음 가짐 그리고, 느꼈던 것들
- 1주일 동안 학습했던 것들에 대해 리뷰를 해봤는데... 학습량은 많았지만 정작 이해한 내용은 그렇게 많지 않은 거 같다 ㅠㅠ
- 이해 못 한 내용이나 익숙하지 않은 파이썬 함수들은 남는 시간에 최대한 다시 공부하고 실습하는 방법 밖에는 없는 거 같다...
추가적으로 공부하거나 더 공부해야 할 것들, 그리고 우선순위
전체적인 소회
1주차에 비해 더 어려워진 거 같다. 1주차 개념도 제대로 이해 못 한 상태에서 1주차 내용이 기반이 되고 거기에 추가적인 개념들이 더해진 2주차를 하다 보니 더 어려워지고 이해하는 데 시간이 더 걸리는 것 같다. 해야 할 일들이 점점 지수승 증가하는 느낌이다. 하지만, 최선을 다해 이해하려고 노력하되 절망하지는 말자. 여러 번 학습 사이클을 돌려서 이해하는 걸로 마음을 다잡자. 그리고, 끝까지 포기하지 않는 데에 의미를 두고, 이걸 가장 우선순위를 두고 하자!!! 이해는 그 다음!!!