학습에 사용하지 않은 데이터(unseen data)와 학습 데이터 간의 에러의 차이를 의미
만약, 학습 데이터 자체의 성능이 좋지 않으면 Generalization이 좋다고 성능이 좋다고 할 수 없다.
Under-fitting vs Over-fitting
overfitting : 학습 데이터에 대해 잘 동작하지만 테스트 데이터에 대해 잘 동작 하지 않는 경우
Cross validation = K-fold validation
학습 데이터를 K개로 나누고, K-1개로 학습을 시키고 나머지 하나로 테스트 해보는 방법
사용 방법 : cross validation으로 최적의 하이퍼파라미터를 찾고, 학습을 할 때는 K개의 셋을 모두 사용한다. 학습하는 데이터가 많을수록 성능이 좋아진다.
주의해야 할 것은 test data는 어떠한 상황에서도 train 과정에서 사용하면 안된다. validation data와의 구분이 필요한데, validation data 는 하이퍼파라미터 튜닝을 위해 사용되는 data이고, test data는 성능을 측정하기 위한 data이다
실무와 경진대회를 위한 object detection, segmentation 재활용 쓰레기 데이터셋
2. CV 도메인
Taskonomy(CVPR 2018 best paper) : CV의 subtask가 매우 다양
자연의 현상 이해하기, CG, OCR
Convolution in CV models : 다른 분야에 적용
Vision Transformer(ViT) : 이미지를 단어처럼 사용해서 엄청나게 많은 파라미터를 학습
Alias-Free GAN : 원래의 generative 모델의 문제 극복
Concolusion? CV는 시각적인 데이터를 다루는 ML. 시각정보에 해당하는게 매우 다양하다. Convolution operation에 대해 많이 배울 것이고, 아직 많이 쓰일 것이다.
3. NLP 도메인
NLP Applications are Everywhere : search, voice assistant, translation
NLP Trend 1: Transfer learning with Laaaaaaaarge models
NLP Trend 2: Retrieval-based Model
NLP Trend 3: Multimodality (DallE)
한 도메인에서 시작은 하되 다른 도메인을 하게 되어서 시간이 지나면 할 수 있다는 마음가짐 필요
ML Enginners Implements ML Systems
데이터 관리와 버저닝 능력 필요
NN에 관련된 아키텍쳐, transformer에 대한 이해. 이해를 바탕으로 논문 수치 재현
DevOps, MLOps 역량
모델 서빙하기 위한 API를 만들거나 로그 관리 분석 능력
주니어레벨에서 갖춰야할 것은 자료구조, 알고리즘에 대한 CS 지식와 ML에 대한 기본기
4. QnA
기억에 남는 논문 : multimodality, "Attention is All You Need"
분야 선택 이유 : 정보의 불평등을 해소하기 위해 NLP를 사용
이미 경험해본 분야와 이제 막 관심이 생기는 분야 중 어떤 것을 택해야 취업에 유리할까? : (1) CV나 NLP나 모두 유망한 분야이고 job position도 많이 열려있다고 생각한다. 자기가 재미를 느끼는 분야와 최종적으로 자기가 만들고 싶은 애플리케이션의 기술을 담고 있는 분야를 선택. (2) 본인이 남보다 잘 할 수 있는 분야 선택. 한 분야를 깊게 파는 것이 유리할 수도 있고, 다양한 분야를 하는 게 유리할 수도 있다. 부캠에서 커리큘럼을 어떤 것을 고르든 이게 최종 결정은 아니다. 취업을 한 이후에 새로운 분야를 배우게 될 수 있다.
AI 비전공자가 취업에 좀 더 쉽게 접근할 수 있는 분야는? : CV가 수학적인 부분 때문에 입문은 어렵게 느껴졌지만, 결국은 다 배워야 한다. AI engineer에서 AI 보다는 engineer에 먼저 집중해서 CS 지식에 대한 공부가 우선되어야 한다.
CV와 NLP에 대해서 수강을 하게 될 때 각 분야에서 가장 중요하게 봐야할 부분이 무엇일까요? : (NLP) KLUE 등의 테스트를 진행하면서 언어모델에 대한 이해와 어떤 어플리케이션에 적용시킬 수 있을지 생각하면서 공부를 하면 좋겠다. (CV) 다양한 task가 있는데, task마다 공통적인 부분을 공부하면 좋을 것 같다
NLP의 경우 각 언어마다 모델링을 하거나 할 때 많은 차이가 나는지? : 한국어와 영어의 모델링 방법이 달랐지만 트렌드는 언어 dependency가 없어지는 추세다.
기존 인력 대비 차별점을 가지려면 어떠한 스킬들을 개발하면 좋을까? : 기본기가 잘 갖추어져 있는가. 한 가지 테스트를 바닥까지 파 본 경험. 다양한 기술을 사용해 봤다.
CS 전공지식, 연구 트렌드 파악, 논문 구현 및 서빙 능력 개발을 위주로 학습
Researcher의 경우 데이터가 정해져있고, 정해진 데이터 안에서 성능을 올리는 역할.
🙋♀️피어세션
도메인 특강을 듣고 각자 선택 도메인에 대한 간단한 의견
김ㅅㅇ님 : CV 선택 예정. CV 적용 분야가 다양한 것 같다.
김ㅅㅎ님 : CV 선택 예정. CV를 선택할 것이지만 박선규 멘토님처럼 NLP도 찍먹 하고 싶다.
김ㅅㄱ님 : NLP 선택 예정. CV 강의를 들으면서 잘 이해가 되지 않아서 NLP가 더 나을 것 같다.
박ㅇㅁ님 : NLP로 마음이 기울었지만 조금 더 고민해 볼 예정. 서대원 멘토님이 비전공자인데 NLP를 하신 것에 영향을 받았다.
심ㅎㄷ님 : NLP 선택 예정. 어려울까봐 걱정은 되지만 NLP를 해보고 싶다.
이ㅅㅇ님 : CV 선택 예정. 처음부터 CV 쪽으로 마음 굳혔다.
강의/과제 (chap3. 최적화) 질문 - 없음
pytorch를 배우기 전이라 과제 한 줄씩 주석 작성하며 pytorch 공부 중
질문게시판 게시글 답변
강의에서 batch 사이즈를 작게 해야 test 데이터에 대해서도 성능이 좋다고 하셨는데, batch 사이즈를 크게 해야 성능이 더 잘나온다는 논문이 있다. 왜 그런 것인지? - 답변 못함(멘토님에게 물어보기)
코딩테스트 연습 - 프로그래머스의 다단계 칫솔판매
각자 15분 동안 문제읽고 수도코드 작성
김ㅅㅎ님 코드 설명 - 매칭되는 배열을 딕셔너리로 zip해서 접근
이ㅅㅇ님 코드 설명 - 딕셔너리에 추천인과 수익금을 담는 구조로 while문을 통해 추천인과 수익금 업데이트
박ㅇㅁ님 코드 설명 - 클래스를 이용해서 클래스 변수로 추천인, 수익금, 이름을 담고 메소드로 수익금을 계산
김ㅅㄱ님 코드 설명 - 코드가 중간에 날라가서 재작성하고, 중간에 문제가 발생했는데 박ㅇㅁ님 코드로 해결
김ㅅㅇ님 코드 설명 - 이ㅅㅇ님과 비슷한 코드. 중간에 종료조건을 추가하고 위치를 조정하여 문제 해결
💌데일리 회고
언어에 재능이 없는 사람이 NLP를 할 수 있을까? 라는 물음과 CV에 대한 익숙함과 흥미 덕분에 CV 쪽으로 마음이 기울었던 상태였습니다. 그래도 항상 NLP라는 선택지를 마음 속에 품고 있었는데, 오늘 도메인 특강 덕분에 그 고민을 조금 해소할 수 있었습니다.
그 답은 어차피 나중에는 둘 다 하게 될 것이다. 심지어는 회사 들어가게 되면 아예 새로운 것을 하게 될 수도 있다는 말 때문이었습니다. 조삼모사라는 말이 떠올랐고 둘 다 알게 될테지만 뭘 먼저 해볼래? 이런 느낌이 들었습니다.
댓글