묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
혹시 이론강의 자료도 공유가 가능하실까요?
안녕하세요 변정현 강사님.강의 잘 듣고있습니다. 실습 수업 때는 주피터 노트북 형식으로 강의자료 다운로드가 가능한데, 혹시 이론강의 자료도 공유가 가능하신가해서 질문을 드립니다. 내용만 볼수있으면 pdf형식이나 워터마크가 추가되어도 크게 문제가 없을것 같은데, 혹시 가능하실까요?
-
미해결딥러닝 이론 + PyTorch 실무 완전 정복
[sec. 2-8 실습] 배치사이즈의 선택
안녕하세요. 좋은 강의 잘 듣고 있습니다. 반복해서 여러 차례 들을 수 있어서 정말 좋습니다. 조금 기초적인 질문인가 싶은데요. 아래 이미지에서 질문이 있습니다.맨 아래 셀의 코드 x = torch.rand(8, 128)에서 배치 사이즈를 8로 정하는 이유를 질문드립니다.in feature가 128이고, out feature가 64라서 대략 2의 배수가 선택된 것인가 추측합니다. 다음 시리즈 기다리고 있습니다. 감사합니다.
-
미해결직관적으로 이해하는 딥러닝 트랜스포머
모듈
안녕하세요 실습 구현 RNN에서 MyRNN이 모듈을 상속받는단게 어떤 의미인지 알 수 있을까요?
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
[section 14 / [실습] 직접 만든 CNN 모델과 ResNet, VGGNet을 활용한 CV 프로젝트] transforms.Normalize 질문
cifar10 데이터셋에 대하여 Normalize를 적용하는 이유가 궁금합니다.mean과 std 리스트에 들어있는 값의 의미가 무엇인가요?이미 ToTensor()로 0~1값의 스케일링 된 데이터를, 표준화까지 적용하여 평균0, 분산 1로 만드는데 장점이 있는건가요??normalize = transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) def get_dataloaders(): train_data = torchvision.datasets.CIFAR10( root="../.cache", train=True, download=True, transform=transforms.Compose([torchvision.transforms.ToTensor(), normalize]), )
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
[section 14 / VGGNet ] receptive filed 질문
안녕하세요. 항상 강의 잘 듣고 있습니다. 감사합니다. 다름이 아니라 section14. vggnet 강의를 듣던 중 receptive field에 대해 의문이 생겨 질문하게 되었습니다. 교안 82페이지에 (3,3) conv layer 2개를 쌓으면 receptive field가 (5,5)가 아니라 왜 (7,7)이 되는 것인지 궁금합니다.(1,1) 픽셀이 직전 에 (3,3)에서 왔고, (3,3)은 직전 (5,5)에서 convolution 연산으로 오는 것이 아닌가요?
-
미해결직관적으로 이해하는 딥러닝 트랜스포머
state
안녕하세요! 강의에서 설명해주시는 state가 은닉층 하나를 의미하는건지 궁금합니다:)
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
[섹션3, PyTorch로 구현해보는 Loss Function] 분류task loss함수 질문입니다.
좋은 강의 정말 잘 듣고있습니다. 항상 감사합니다.다름이 아니라 nn.BCEloss 나 nn.BCEWithLogitsLoss에서 이름에 B(Binary)가 들어가 이진분류 문제에 사용하는 함수인가 싶었는데, 실습 강의때 처럼 다중 분류 문제의 loss 함수로 사용해도 괜찮은 것인지 여쭙고 싶습니다.generate_onehot 함수는 클래스가 10개인 다중분류 데이터를 생성합니다.batch_size = 16 n_class=10 def generate_onehot(batch_size=16, n_class=10): pred = torch.nn.Softmax()(torch.rand(batch_size, n_class)) gt = torch.rand(batch_size, n_class) gt = torch.tensor(gt == torch.max(gt, dim=1, keepdim=True)[0]).float() # convert to onehot return pred, gt
-
미해결직관적으로 이해하는 딥러닝 트랜스포머
Transformer Decoder 강의에서 "MaskedMultihadAttention"클래스 질문
안녕하세요. 설명을 너무 잘해주셔서 Transformer에 대한 이해도가 높아졌습니다. 감사합니다.강의 중 이해안되는 부분이 있어 질문드립니다. "Char Level GPT 만들기"강의 중 MaskedMultiheadAttention 클래스 선언 부분의 attention 객체 만드는 부분의 매개변수가 이해가 안갑니다. Class MaskedMultiheadAttention(nn.Module): def init(self, embed_dim, num_heads): ... self.attentions = nn.ModuleList([MaskedSelfAttention(attention_dim, attention_dim) for in range(num_heads)] ... 위에 attention 객체 생성할 때 입력단자로 attention_dim이 들어가게 되는데 embed_dim 이 들어가야 하는게 아닐까요? 선택사항이라고 하기에는 TrnsformerDecoderBlock 클래스 선언한 걸 보면 layer_norm1을 emed_dim으로 설정해서 그래도 맞지 않는 것 같아서요. 답변 부탁드릴게요!
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
GoogleNet Inception 모듈
안녕하세요 선생님강의 잘 보고 있습니다구글넷의 인셉션 모듈 설명 중에 MAX pooling이 포함되어 있는데요보통 max pooling은 인풋의 사이즈를 줄이는 것으로 알고 있는데 그러면 다른 컨볼루션이 통과된 아웃풋과 사이즈가 달라져서 concat이 안되는 거 아닌가요?아니면 여기에 포함된 컨볼루션들은 max pooling과 같은 stride를 같는 걸까요?
-
해결됨생성형 AI 기초와 동작 원리 이해
클립모델 실습 중 에러 발생 관련 문의드립니다.
코랩에서 910 실습파일 실행 시 skimage.data_dir 경로에 이미지 파일이 없는것으로 보입니다. FileNotFoundError Traceback (most recent call last) <ipython-input-31-48f15de4b83a> in <cell line: 9>() 7 8 # skimage의 데이터 디렉토리에서 .png 또는 .jpg로 끝나는 모든 파일을 반복하여 처리합니다. ----> 9 for filename in [filename for filename in os.listdir(skimage.data_dir) if filename.endswith(".png") or filename.endswith(".jpg")]: 10 # 파일명에서 확장자를 제거하여 이미지의 이름을 얻습니다. 11 name = os.path.splitext(filename)[0] FileNotFoundError: [Errno 2] No such file or directory: '/root/.cache/scikit-image/0.24.0/data
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
Batch Normalization 효과
안녕하세요 선생님강의 정말 잘 보고 있고요제 많은 질문들에도 너무 성심성의껏 답변 달아주셔서 감사합니다 ㅎㅎBatchNorm이 설계된 의도는 internal covariate shift를 해결하기 위해 제안되었다는 것은 이해했습니다.하지만 실제로는 그렇지 않고 optimization surface를 매끄럽게 해서 학습이 잘된다라고 설명하신 것까지 들었습니다.제가 이해한 바로는 활성화 함수에 들어가는 입력의 분포를 조정해서 학습이 잘되는 위치? 분포를 학습하는 것으로 이해했는데요(sigmoid로 예시를 든다면 더 이상 업데이트가 되지 않아도 될 정도라면 기울기가 saturate되는 부분으로 혹은 업데이트가 많이 되어야 한다면 0부근으로 이동시키는 등의) 정확히 어떤 원인에 의해 surface가 매끄러워지는 효과를 가지게 되는 것인지 궁금합니다..!
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
Layer Norm이 언어모델에 적합한 이유
안녕하세요 선생님강의 정말 잘 보고 있습니다.Layer Normalization을 보는 중에 입력 데이터를 Normalization하는 것을 통해 scale이나 shift에 robust하게 되는 것까진 이해했습니다.이런 효과가 왜 이미지보다 언어 모델에 더욱 효과적인지 이유를 알 수 있을까요?
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
9-2 fully connected NN
여기서 네트워크를 구성할 때 맨 마지막에 sigmoid를 태운 후에 마지막에 또 Softmax를 태우는데, 이렇게 할 거면 애초부터 네트워크의 마지막단을 sigmoid가 아닌 softmax를 태우면 되는 거 아닌가요?왜 sigmoid를 거친 후에 softmax를 태워야 하는 것인지 알 수 있을까요?
-
해결됨딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
transformer 훈련 마친 모델 공유 가능할까요?
강사님, 혹시 transformer 훈련 마친 모델 공유 가능할까요?pt-en en-kr 강의중에 언급하신 버젼colab에서 직접 돌려보다가 런타임이 계속 끊겨서 실패하다 요청드립니다ㅠ 덕분에 nlp에 많은 도움을 받고 있습니다. 감사합니다 :)
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
Mini-batch Gradient Descent computation time 질문
안녕하세요 선생님시간과 체력이 더 많았으면 좋겠다는 생각이 들 정도로 강의를 너무 재밌게 보고 있습니다Mini batch Gradient Descent 이론 편에서 Mini batch Size에 비례하지 않는다는 설명을 보았는데요.물론 병렬처리를 하기 때문에 정비례하지 않겠지만 GPU에 올릴 수 있는 최대 데이터양이 100개라고 가정한다면 미니배치를 200, 300, .. 이런 식으로 키운다면 미니 배치크기에 따라 비례하는 것은 맞지 않나요?혹시 제가 잘못 생각하고 있다면 말씀해주세요 감사합니다!
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
Huber Loss에 대한 질문
안녕하세요?: 선생님강의 정말 재밌게 잘 보고 있습니다.강의 내용 중에 Huber Loss는 전미분이 한 번밖에 되지 않는다는 단점을 언급해주셨는데요Gradient Descent를 적용할 때는 weight에 대한 편미분만 적용하기 때문에 역전파 시에는 무관한 거 아닐까요?따라서 Epoch를 2 이상의 숫자를 두고 학습하는데 전혀 지장이 없는 거 아닌가요?왜 전미분이 1번만 된다는 게 단점이 된다는 것인지 이해가 잘 되지 않습니다.
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
Batch size 가 극단적으로 작은 경우 (예를들어 batch_size =1) Normalization 적용 방안
강사님, 본 강의 들으면서 정말 많은 도움을 받고 있습니다. normalization 에 대해서 이렇게 상세하게 설명해 준 온라인 강의는 본 적이 없네요 🙂 CNN 을 기반으로 하되 모델 파라메터도 엄청 크고, 데이터셋 크기도 매우 큰 경우, 예를 들어 3D Unet 을 구성해서 3차원의 고해상도 (256 x 256 x 256) 이미지를 input 과 output 으로 사용하다보니 GPU 메모리를 너무 많이 잡아먹어서 batch 에 복수의 샘플을 적용하지 못하고 하나의 batch 에 단일 샘플만 적용하는 경우를 study 하고 있는데요, BatchNormalization 을 적용했을 경우 오히려 학습이 잘 안 되는 것 같아서 Normalization layer 를 야예 제거한 후 모델 학습 진행 중이었습니다. 경험적으로 했던 것이었지만 본 강의를 보다 보니 그 이유가 조금 이해가 되기도 하는데요, 이와 같이 batch size 가 극단적으로 작은 경우에 Normalization layer 을 적용 안하는게 더 좋을 수 있나요? 혹은 설명해 주신 table 에 나와 있는 것 처럼 Group Normalization layer 나 Instance Normalization을 적용하는 것이 개념적으로 더 나은 방법일까요? (설명을 들었을 때는 Group Normalization 을 적용하는 것이 필요한 상황으로 이해가 되기도 하는데.. 제가 이해한 것이 맞는지 확인 부탁드립니다 ^^;) 그리고 Group Normalization 에서 "Group" 의 의미가 무엇인지 잘 와닿지가 않아서 (Batch 나 Width, Height, Sample Number 이외에 그룹이 될 수 있는 경우가 무엇인지가 잘 이해가 되지 않습니다.) ... 요 부분에 대해서 좀 더 설명해 주시면 감사드리겠습니다!
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
Normalization 질문
안녕하세요, 수업 설명 감사드립니다. cnn이 아닌 일반적인 fully connected NN (multi-layer perceptron) 에서 혹시 batch/instance/layer normalization 을 어떻게 계산하는지 설명을 부탁드려도 될까요 (그림으로 표현해 주시면 더 좋을거 같습니다.)MLP에서라면 small c가 특정 hidden layer의 node/unit에 대응될거 같고 large C가 layer 전체를 표현할거 같은데, H,W는 무엇인지 이해가 잘 되지 않습니다. 특히, MLP에서 instance normalization의 평균/분산을 구할 수가 있을지 궁금합니다 (단일 값 하나일거 같은데..)강사님께서는 어떻게 생각하시는지 알려주시면 감사드리며, 제가 잘못 이해한 부분이 있으면 코멘트 부탁드리겠습니다. 추가로 하나만 더 질문드리고 싶습니다.강의안에서 x_nhwc는 벡터일까요? 아니면 scalar 값일까요? Normalization의 경우에 feature간 (예, 인풋 변수) 평균도 구하는지, element-wise로 구하는지 궁금해서 여쭤봅니다.바쁘실텐데 시간내주셔서 미리 감사드립니다.
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
Section 7 [Activation Function의 종류] Softmax logit 분포와 Entropy 질문이 있습니다
안녕하세요 선생님해당 강의 마지막 참고사항: what is entropy 부분에서 Temperature가 낮을수록 softmax logit의 분포가 쏠리면 Entropy가 감소하게 되는 것이 아닌지 궁금합니다! 확인해주셔서 감사합니다!
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
Section 3 [실습] PyTorch로 구현해보는 Loss Function의 Cross Entropy 구현 관련하여 질문이 있습니다.
안녕하세요 선생님,batch_size = 16 n_class = 10 def generate_classification(batch_size=16, n_class=10): pred = torch.nn.Softmax()(torch.rand(batch_size, n_class)) ground_truth = torch.argmax(torch.rand(batch_size, n_class), dim=1) return pred, ground_truth def CE_loss(pred, label): loss = 0. exp_pred = torch.exp(pred) # 이 부분 관련 질문이 있습니다. for batch_i in range(len(pred)): for j in range(len(pred[0])): if j == label[batch_i]: print(pred[0], j) loss = loss + torch.log(exp_pred[batch_i][j] / torch.sum(exp_pred, axis=1)[batch_i]) return -loss / len(pred)CE loss를 구현하는 과정에서 exp_pred = torch.exp(pred) 행이 왜 필요한 것인지 궁금합니다!exp를 취해주는 이유는 모델의 출력값 logits에 exp를 적용해 각 클래스에 대한 예측값을 양수로 변환한다고 알고 있는데generate_classification위에서 이미 softmax를 취해서 확률분포로 변환해주기 때문에 음수 값은 나오지 않는데 왜 exp를 적용해주어야 하는지 모르겠어서 여쭤봅니다!