코스
10학년 AI: 딥러닝과 멀티모달 AI
PyTorch로 이미지, 텍스트, 소리를 위한 신경망을 만들고 훈련해요.
레슨을 차례대로 해요. 끝나면 뉴런의 출력을 계산하고, 활성화를 비교하고, NumPy로 순전파를 쓸 수 있어요. 손실을 고르고, 경사 하강법과 역전파를 설명하고, PyTorch로 훈련과 테스트 루프를 모두 쓸 수 있어요. CNN을 훈련해 이미지를 분류하고, 감성 분류기를 훈련해 긍정 리뷰와 부정 리뷰를 가리고, 어텐션이 다른 토큰에 가중치를 주는 방식을 설명하고, 짧은 오디오 클립을 분류할 수 있어요. 과적합을 줄이고, 사전 학습 모델을 새 클래스에 미세 조정하고, 실수를 묶고 원인을 찾고, 보지 않은 이미지로 야생동물 모니터를 발표할 수 있어요.
이 레슨을 쓰는 방법
- 이것을 해요라고 표시된 레슨에서 시작해요. 제목 아래 줄을 혼자 할 수 있으면 다음으로 가요.
- 먼저 게임을 해요. 그다음 퀴즈를 해요. 10개 중 8개 정답이면 통과. 학습지는 종이예요. 정답은 아래에 있어요.
- 각 레슨은 앞 레슨 위에 쌓여요. 훈련마다 메모해요. 설정, 손실 곡선, 테스트 점수.
- 코딩 레슨은 GPU가 있는 무료 온라인 노트북에서 Python과 PyTorch를 써요. 작은 모델과 작은 데이터 세트로 충분해요. 써도 되는 공개 데이터 세트만 쓰고, 허락 없이 사람 사진으로 훈련하지 않아요.
각 수업에는 게임, 퀴즈, 학습지가 있습니다.
0/36
신경망의 기초
- 1뉴런입력, 가중치, 편향으로 뉴런의 출력을 계산할 수 있어요.
- 가중 합에 편향을 더한 식을 써요.
- 입력 3개로 손으로 계산해요.
- 코드에서 내적으로 계산해요.
- 2활성화활성화 ReLU, sigmoid, softmax를 비교할 수 있어요.
- 각 활성화를 그려요.
- 신경망에 비선형 활성화가 필요한 이유를 설명해요.
- softmax로 점수를 확률로 바꿔요.
- 3층과 신경망층을 쌓아 신경망을 만들 수 있어요.
- 층을 행렬 곱으로 써요.
- 각 층에서 데이터 모양을 따라가요.
- 신경망의 매개변수 수를 세요.
- 4작은 신경망NumPy로 작은 신경망의 순전파를 쓸 수 있어요.
- NumPy로 2층 신경망을 만들어요.
- 입력 배치를 통과시켜요.
- 출력 모양을 확인해요.
신경망 훈련
- 5손실과제에 맞는 손실을 고르고 계산할 수 있어요.
- 회귀에는 평균 제곱 오차를 써요.
- 분류에는 교차 엔트로피를 써요.
- 손실이 내려간다는 것이 무슨 뜻인지 말해요.
- 6경사 하강법경사가 가중치를 내리막으로 움직이는 방식을 설명할 수 있어요.
- 손실 곡선의 기울기를 구해요.
- 학습률로 한 걸음씩 나가요.
- 학습률이 너무 크거나 너무 작을 때 무슨 일이 나는지 봐요.
- 7역전파오차가 신경망을 거꾸로 흐르는 길을 역전파로 따라갈 수 있어요.
- 작은 신경망에 연쇄 법칙을 써요.
- 기울기 하나를 손으로 계산해요.
- 자동 미분과 맞춰 봐요.
- 8신경망을 훈련해요작은 신경망을 훈련하고 손실을 그릴 수 있어요.
- 미니배치로 훈련해요.
- 훈련 손실과 검증 손실을 그려요.
- 검증 손실이 더 나아지지 않으면 멈춰요.
딥러닝 프레임워크
- 9텐서PyTorch 텐서를 만들고 모양을 바꿀 수 있어요.
- 텐서를 만들고 모양과 형을 확인해요.
- 모양을 바꾸고, 쌓고, 잘라요.
- 텐서를 GPU로 옮겨요.
- 10모듈torch.nn 모듈로 모델을 만들 수 있어요.
- nn.Module의 서브클래스를 만들어요.
- Linear와 활성화 층을 써요.
- 모델과 매개변수 수를 출력해요.
- 11옵티마이저옵티마이저 SGD와 Adam으로 훈련할 수 있어요.
- zero_grad, backward, step을 써요.
- 한 과제에서 SGD와 Adam을 비교해요.
- 학습률 일정을 써요.
- 12훈련 스크립트훈련과 테스트 루프를 모두 쓸 수 있어요.
- DataLoader로 데이터를 불러와요.
- 훈련하고, 검증하고, 테스트해요.
- 가장 좋은 모델을 저장해요.
컴퓨터 비전
- 13텐서로서의 이미지이미지를 텐서로 불러오고 정규화할 수 있어요.
- 이미지를 채널, 높이, 너비로 불러와요.
- 크기를 바꾸고 정규화해요.
- 배치를 격자로 보여요.
- 14합성곱합성곱 필터가 가장자리를 찾는 방식을 설명할 수 있어요.
- 3×3 필터를 이미지 위로 손으로 밀어요.
- 코드에서 가장자리 필터를 적용해요.
- stride, padding, pooling을 설명해요.
- 15CNN합성곱 신경망, CNN을 만들 수 있어요.
- 합성곱, 활성화, pooling 층을 쌓아요.
- 펼치고 분류 헤드를 더해요.
- 신경망을 지나는 모양을 따라가요.
- 16이미지 분류기CNN을 훈련해 이미지를 분류할 수 있어요.
- 작은 이미지 데이터 세트로 훈련해요.
- 테스트 정확도를 보고해요.
- 잘못 분류한 이미지를 보여요.
자연어 처리
- 17토큰화토큰화로 텍스트를 토큰과 ID로 바꿀 수 있어요.
- 단어 토큰과 서브워드 토큰을 비교해요.
- 어휘를 만들어요.
- 시퀀스를 같은 길이로 패딩해요.
- 18임베딩임베딩이 비슷한 단어를 가까이 두는 방식을 설명할 수 있어요.
- 임베딩 층을 써요.
- 한 단어와 가장 가까운 단어를 찾아요.
- 임베딩을 2차원으로 그려요.
- 19텍스트 모델토큰의 열을 읽는 텍스트 모델을 만들 수 있어요.
- 임베딩을 평균해 벡터 하나로 만들어요.
- 간단한 순환 층을 써요.
- 둘을 비교해요.
- 20감성 분류기감성 분류기를 훈련해 긍정 리뷰와 부정 리뷰를 가릴 수 있어요.
- 리뷰 데이터 세트로 훈련해요.
- 정확도, 정밀도, 재현율을 보고해요.
- 빈정거림처럼 모델을 속이는 리뷰를 찾아요.
트랜스포머
- 21어텐션어텐션이 다른 토큰에 가중치를 주는 방식을 설명할 수 있어요.
- query, key, value를 설명해요.
- 짧은 문장의 어텐션 가중치를 계산해요.
- 어텐션이 멀리 있는 뜻에 도움이 되는 이유를 말해요.
- 22트랜스포머 블록트랜스포머 블록의 부분을 말할 수 있어요.
- 멀티헤드 어텐션, 피드포워드, 정규화 층의 이름을 말해요.
- 잔차 연결을 설명해요.
- 위치 인코딩을 설명해요.
- 23사전 학습 모델사전 학습된 트랜스포머를 과제에 쓸 수 있어요.
- 사전 학습 모델과 토크나이저를 불러와요.
- 그것으로 텍스트를 분류해요.
- 내가 만든 감성 분류기와 비교해요.
- 24어텐션 맵어텐션 맵 시각화를 읽을 수 있어요.
- 어텐션 가중치를 히트맵으로 그려요.
- 토큰이 어떤 단어에 주목하는지 찾아요.
- 어텐션이 완전한 설명이 아닌 이유를 말해요.
오디오와 멀티모달 AI
- 25데이터로서의 소리소리를 파형과 스펙트로그램으로 바꿀 수 있어요.
- 소리를 불러오고 파형을 그려요.
- 샘플링 레이트를 설명해요.
- 스펙트로그램을 만들어요.
- 26오디오 분류기짧은 오디오 클립을 분류할 수 있어요.
- 스펙트로그램을 이미지로 다뤄요.
- 그 위에 CNN을 훈련해요.
- 배경 소음으로 테스트해요.
- 27멀티모달 입력모델이 멀티모달 입력으로 이미지와 텍스트를 합치는 방식을 설명할 수 있어요.
- 입력마다 따로인 인코더를 설명해요.
- 공유 임베딩 공간을 설명해요.
- 멀티모달 앱 3개를 말해요.
- 28이미지와 텍스트사전 학습 모델로 이미지와 텍스트 캡션을 맞출 수 있어요.
- 이미지와 캡션을 임베딩해요.
- 각 이미지의 캡션 순위를 매겨요.
- 텍스트 질의로 이미지를 검색해요.
모델 개선
- 29정칙화드롭아웃과 가중치 감쇠 정칙화로 과적합을 줄일 수 있어요.
- 드롭아웃을 넣어요.
- 가중치 감쇠를 넣어요.
- 검증 곡선을 비교해요.
- 30데이터 증강데이터 증강으로 뒤집고 자른 이미지를 훈련 세트에 넣을 수 있어요.
- 뒤집기, 자르기, 색 변화를 적용해요.
- 데이터 증강은 훈련 세트에만 해요.
- 테스트 정확도의 변화를 재요.
- 31전이 학습전이 학습으로 사전 학습 모델을 새 클래스에 미세 조정할 수 있어요.
- 사전 학습된 층을 얼려요.
- 헤드를 바꾸고 훈련해요.
- 풀고, 작은 학습률로 미세 조정해요.
- 32실수 분석실수를 묶고 원인을 찾을 수 있어요.
- 클래스가 많은 혼동 행렬을 읽어요.
- 실수를 묶음으로 나눠요.
- 가장 큰 묶음의 고칠 방법을 골라요.
딥러닝 프로젝트
- 33야생동물 데이터공개 야생동물 이미지 데이터 세트를 고르고 나눌 수 있어요.
- 공개 카메라 트랩이나 야생동물 데이터 세트를 골라요.
- 종을 5에서 10개 골라요.
- 장소로 나눠서 시험이 공정하게 해요.
- 34모델을 미세 조정해요이미지 분류기를 야생동물 클래스에 미세 조정할 수 있어요.
- 사전 학습 모델을 미세 조정해요.
- 검증 정확도를 따라가요.
- 가장 좋은 체크포인트를 저장해요.
- 35데모 화면올린 이미지의 예측을 보여주는 데모 화면을 만들 수 있어요.
- 올린 이미지를 받아요.
- 상위 3개 종과 점수를 보여요.
- 확신이 낮으면 “잘 모르겠어요”를 보여요.
- 36지능형 야생동물 모니터보지 않은 이미지의 정확도와 야생동물 모니터의 주요 실수를 발표할 수 있어요.
- 보지 않은 이미지의 정확도를 보고해요.
- 주요 실수와 원인을 보여요.
- 다음에 무엇을 바꿀지 말해요.