본문 바로가기
Deep Learning/2023 DL 기초 이론 공부

[모두를 위한 딥러닝 시즌 2] lab-01-1~08-2

by a._muj 2023. 7. 9.
728x90
반응형

 

lab-01-1~08-2
01-1~2 Tensor Manipulation 1~2
  • 1차원: 벡터
  • 2차원: 행렬
  • 3차원: 텐서(배열을 의미)
  • 4차원: 텐서를 위로 쌓은 것
  • 5차원: 텐서를 옆으로 쌓은 것
  • 6차원: 5차원을 뒤로 쌓은 것
  • batch size=64
  • dim=256
  • *가장 전형적인 2차원 텐서

가로: 너비(width) 세로: 높이(height)

length: 문장길이 dim: 단어 벡터의 차원 ex)['나는 사과를 좋아해'] 문장길이(length=3) '나는'=[0.1,0.2,0.9] '사과를'=[0.3,0.5,0.1] '좋아해'=[0.5,0.6,0.7] => [[0.1,0.2,0.9], [0.3,0.5,0.1], [0.5,0.6,0.7]]

파이토치의 경우, 자동적으로 행렬 차원의 사이즈를 맞춰준다. (Broadcasting) 따라서 크기와 다른 벡터끼리도 연산이 가능.

.A.matmul(B): A행렬과 B행렬의 행렬곱, 차원이 같아야함 A.mul(B): A 텐서와 B텐서의 원소별 곱셈 연산, 브로드캐스팅 기능 제공

mean(dim): 해당 차원(dim)을 제거해서 평균 출력 dim=0 의 의미: 첫번째 차원=행 을 지워라 (열만 남겨라) dim=1 의 의미: 열을 지워라(행만 남겨라)

sum(dim): 해당차원을 제거해서 합계 출력

max(dim): 해당차원을 제거해서 원소의 최댓값과 인덱스 리턴

torch.Tensor.view(원하는크기): 텐서 안의 원소 개수는 유지 but, 텐서의 크기를 변경 -1로 설정할 시, 알아서 계산해줌

squeeze(): 차원이 1인 차원 제거 unsqueeze(dim): dim이 1인 경우 해당 차원 제거

unsqueeze(dim): dim에 1인차원 추가 ex) unsqueeze(0): 행 자리에 1을 넣어줘

자료형 변환= Type Casting

해당 차원에 알맞게 이어 붙여줌

stack이 더 많은 연산을 내포해 concat보다 더 편리 ** concat vs stack: 텐서들을 단순히 이어붙임 텐서 그대로 쌓음

 

ones_like(x): 1로 채워진 텐서 생성 zeros_like(x): 0으로 채워진 텐서 생성

연산 뒤에 _: 기존 텐서에 넣음(업데이트)

08-1~08-2 Perceptron / Multi Layer Perceptron

AND: 둘다 1이어야 1로 OR: 둘 중 1개만 1이면 1로

서로 다른 입력이 들어올 경우 1 같은 입력일 경우 0 => linear로 구분하지 못함 => 암흑기 돌입

 

이에 대해 여러 층이 생기는 MLP(multi layer perceptron)이 등장하게 됨.

계산 결과와 정답의 오차를 구함 => 오차에 관여하는 값들의 가중치를 수정=> 오차가 작아지는 방향으로 일정 횟수를 반복해 수정하는 방법 => 밑시딥 chap5 좀 더 공부해야

 

 

 

 

 

 

 

 


728x90
반응형