묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[파이토치] 실전 인공지능으로 이어지는 딥러닝 - 기초부터 논문 구현까지
overfitting이 나는 이유가 궁금합니다.
데이터의 4가지만 고려했다는 것은, 주식예측에 대해서 재무제표나 그런 지표들을 고려를 안했다는 의미로 말씀하신거 같습니다 근데 그 외에 이유도 있을지 궁금하여 질문 드립니다!
-
미해결처음하는 딥러닝과 파이토치(Pytorch) 부트캠프 (쉽게! 기본부터 챗GPT 핵심 트랜스포머까지) [데이터분석/과학 Part3]
파이토치 설치
안녕하세요 강사님 말씀대로 주피터 노트북 환경에서 파이토치를 설치해 보았습니다. 근데 conda 환경에서는 더 이상 지원을 하지 않는다고 하면서 pip로 설치하라는 얘기합니다. pip로 설치를 해도 괜찮은지, 아니면 다른 방법이 있는지 궁금합니다.
-
미해결처음하는 딥러닝과 파이토치(Pytorch) 부트캠프 (쉽게! 기본부터 챗GPT 핵심 트랜스포머까지) [데이터분석/과학 Part3]
[Pytorch 기울기의 누적 곱? 누적 합?]
optimizer.zero_grad()를 호출하여 모델 매개변수의 변화도를 재설정합니다. 기본적으로 변화도는 더해지기(add up) 때문에 중복 계산을 막기 위해 반복할 때마다 명시적으로 0으로 설정합니다.파이토치 한국어 커뮤니티에서 봤었던 내용이랑 너무 헷갈려서 질문 드립니다. 강사님이 6:00 시작부터 왜 zero_grad()를 사용하는지 설명하시는 부분에서 새로운 출력값에 대한 오차값의 편미분이 누적해서 "곱"해지는 것 처럼 설명해주시는데 , 제가 이해한 바로는 기울기가 이전 반복의 기울기에 "더해지는 것"으로 알고 있거든요 제가 잘못 이해하고 있는 것인지 궁금합니다. 아래가 제가 이해하고있는 과정입니다.(기울기 초기화를 하지 않을시 Pytorch의 누적 과정)
-
미해결처음하는 딥러닝과 파이토치(Pytorch) 부트캠프 (쉽게! 기본부터 챗GPT 핵심 트랜스포머까지) [데이터분석/과학 Part3]
3d 텐서에서의 축 구분 질문
import torch data1 = torch.DoubleTensor([ [[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]] ]) print (data1.shape, "높이(k):", data1.size(0), "너비(n):", data1.size(1), "깊이(m):", data1.size(2))위와 같이 예제 코드를 보다 의문이 들어 문의 남깁니다.기존에 배웠던 넘파이 데이터 구조에서와 마찬가지로 생각했는데,여기 텐서에서도 순서가 깊이(depth) - 높이(row) - 너비(column) (2, 2, 3) 순이 아닌지 하여 질문 드립니다.혹시 제가 오개념을 잡고 있다면, 알려주시면 정말 감사하겠습니다!
-
해결됨처음하는 딥러닝과 파이토치(Pytorch) 부트캠프 (쉽게! 기본부터 챗GPT 핵심 트랜스포머까지) [데이터분석/과학 Part3]
항상 tensor([0., 0., 0.]) 형식으로만 나오는 이유
- 강의 영상에 대한 질문이 있으시면, 상세히 문의를 작성해주시면, 주말/휴일 제외, 2~3일 내에 답변드립니다 (이외의 문의는 평생 강의이므로 양해를 부탁드립니다.)- 강의 답변이 도움이 안되셨다면, dream@fun-coding.org 로 메일 주시면 재검토하겠습니다. - 괜찮으시면 질문전에 챗GPT 와 구글 검색을 꼭 활용해보세요~- 잠깐! 인프런 서비스 운영(다운로드 방법포함) 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 파이토치 실습 코드 부분 수강시 마다,강의와 동일하게 torch.FloatTensor 메서드를 쓰는데도 강의에서 나오는 출력값 : tensor([2.1218e+28, 1.8070e+29, -4.3554e+28]) 실제 출력값 : tensor([0., 0., 0.]) 계속 위와 같은 결과가 나옵니다. 타 웹페이지를 검색해봐도 나오지 않아, 원인 및 조치방법 문의드립니다.
-
미해결처음하는 딥러닝과 파이토치(Pytorch) 부트캠프 (쉽게! 기본부터 챗GPT 핵심 트랜스포머까지) [데이터분석/과학 Part3]
강의자료 PDF 다운로드에 관하여
- 강의 영상에 대한 질문이 있으시면, 상세히 문의를 작성해주시면, 주말/휴일 제외, 2~3일 내에 답변드립니다 (이외의 문의는 평생 강의이므로 양해를 부탁드립니다.)- 강의 답변이 도움이 안되셨다면, dream@fun-coding.org 로 메일 주시면 재검토하겠습니다. - 괜찮으시면 질문전에 챗GPT 와 구글 검색을 꼭 활용해보세요~- 잠깐! 인프런 서비스 운영(다운로드 방법포함) 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하십니까? 선생님 강의를 여러개 꾸준히 듣고 있는 학생입니다.처음하는 딥러닝과 파이토치 강의를 들으며 강의자료에 필기를 하고 싶은데 다운로드가 불가능하여 학습에 조금 불편함을 느끼고 있습니다. 드라이브 강의자료 다운로드 권한을 구매자에 한에 풀어주실순 없으실까요?
-
미해결처음하는 딥러닝과 파이토치(Pytorch) 부트캠프 (쉽게! 기본부터 챗GPT 핵심 트랜스포머까지) [데이터분석/과학 Part3]
[실무에서 판다스 copy()메서드의 깊은복사 얕은복사 조정 소요가 생길까?]
단순히 궁금증이 생긴겁니다.텐서 복사를 보다보니까 판다스 copy()메서드 생각나서 찾아보니판다스에서 COPY()메서드도 깊은복사, 얕은복사(deep 인자가 기본값으로 true)조정이 가능하더라고요(판다스공식문서) 제 질문은 이겁니다. copy()메서드의 deep 인자를 실무에서 조작할 일이 생기나요?
-
해결됨인공신경망 이론과 DNN, CNN 아키텍처 이해 및 구현
7강 iris데이터 분류를 위한 DNN모델
교수님 7강 제목은 iris데이터 분류를 위한 DNN모델 수업이라고 제목이 되있지만, 실제 내용은 와인 데이타 분류입니다. 그리고..7강 10분 분량이 8강 앞 부분에서 겹치고 있습니다.
-
해결됨인공신경망 이론과 DNN, CNN 아키텍처 이해 및 구현
3장-3절 케라스를 이용한 CNN모델링 PDF 자료가 3장-5절과 중복됩니다.
3장 -3절 케라스를 이용한 CNN모델링 PDF자료가 5절 자료와 중복됩니다.^^
-
미해결머신러닝, 딥러닝 입문 : 알고리즘 이해하기
강의자료 문의
강의에서 사용되는 강의자료를 제공해주실 수 있나요?
-
미해결[Pytorch] 파이토치를 활용한 딥러닝 모델 구축
이미지가 출력되지 않습니다
[Pytorch] 파이토치를 활용한 딥러닝 모델 구축섹션 5 CNN(Convolutional Neural Network, 합성곱 신경망)실습 - CNN model (LeNet-5) Mnist Dataset 분류 강의 중15분 15초 부분 code 실행 시 이미지가 출력되지 않습니다.local(jupyter notebook) 에서도 online(colab) 에서도모두 출려되지 않습니다. 어떻게 하면 되는지요?
-
미해결처음하는 딥러닝과 파이토치(Pytorch) 부트캠프 (쉽게! 기본부터 챗GPT 핵심 트랜스포머까지) [데이터분석/과학 Part3]
섹션 다양한 Optimizer 정리하기 중 딥러닝으로 Regression 문제 적용해보기 (House Price Kaggle 문제) 강의에서 오류가 발생합니다.
섹션 다양한 Optimizer 정리하기 중 딥러닝으로 Regression 문제 적용해보기 (House Price Kaggle 문제) 강의에서 오류가 발생합니다.강의에 나오는 code 중 아래 부분을 실행하면 RuntimeError 가 발생합니다. 이 부분이 문제라고 나옵니다. --> loss = torch.sqrt(loss_function(y_minibatch_pred, y_minibatch))RuntimeError: The size of tensor a (1460) must match the size of tensor b (256) at non-singleton dimension 1 - 아 래 - for index in range(nb_epochs): indices = torch.randperm(X_train_tensor.size(0)) x_batch_list = torch.index_select(X_train_tensor, 0, index=indices) y_batch_list = torch.index_select(y_train_tensor, 0, index=indices) x_batch_list = x_batch_list.split(minibatch_size, 0) y_batch_list = y_batch_list.split(minibatch_size, 0) epoch_loss = list() for x_minibatch, y_minibatch in zip(x_batch_list, y_batch_list): y_minibatch_pred = model(x_minibatch) loss = torch.sqrt(loss_function(y_minibatch_pred, y_minibatch)) epoch_loss.append(loss) optimizer.zero_grad() loss.backward() potimizer.step() if index % 100 == 0: print(index, sum(epoch_loss) / len(epoch_loss))
-
해결됨딥러닝 차세대 혁신기술 - 물리 정보 신경망 입문과 Pytorch 실습
초기값 관련 질문있습니다.
안녕하세요, 도움되는 강의 제공해주셔서 진심으로 감사드립니다.Harmonic Oscillator 초기값 관련하여 질문있습니다.현재 우리는 pinn의 performance를 확인하기 위해 실제해가 알려진 경우와, pinn의 prediction을 비교하고 있는데요. loss function이 residual과 초기값에 대한 mse로 구성되어 있는데, 우리가 실제 해를 모른다고 가정하고 온전히 pinn으로만 학습한다고 가정할 경우, 초기값에 대한 mse는 어떻게 구할 수 있을까요?제가 미분방정식에 대한 기억이 너무 오래되서 그런데 보통 초기값은 실제해를 몰라도 방정식 별로 알려진 값일까요?미리 감사드립니다.
-
미해결딥러닝 차세대 혁신기술 - 물리 정보 신경망 입문과 Pytorch 실습
방정식을 세우기 힘든 문제라면 어떻게 해야 하나요?
물리 정보 신경망은 결국 미분방정식 해를샘플데이터를 이용해서 빠르게 찾는 것이 핵심인 것 같습니다. 그러나 현실에서는 방정식 자체를 세우기가 힘듭니다. 예를 들어 단순히 개나 고양이 사진을 구분하는 문제만 봐도 식을 세우기 힘들며, 결국 데이터에 의존해야 하는데요. 물론 문제 성격에 따라 알고리듬을 달리 적용하는 것이 맞지만, 현실 문제에 적용이 힘들어 보입니다. 미분방정식이 있는 난제에만 적용이 가능할까요?수치해석과 비교했을 때 결국 시뮬레이션을 얼마나 빨리하는지의 차이일 뿐, 정확한 해인지는 어떻게 평가할 수 있나요? 더불어서 수치해석은 시뮬레이션 수치를 눈으로 확인할 수 있으니 말 그대로 해석이 가능한데, 인공신경망이 복잡할 경우, 어떻게 해석하나요?
-
미해결처음하는 딥러닝과 파이토치(Pytorch) 부트캠프 (쉽게! 기본부터 챗GPT 핵심 트랜스포머까지) [데이터분석/과학 Part3]
마지막에 confusion matrix 작성할때
/usr/local/lib/python3.10/dist-packages/sklearn/utils/validation.py in check_consistent_length(*arrays) 405 uniques = np.unique(lengths) 406 if len(uniques) > 1: --> 407 raise ValueError( 408 "Found input variables with inconsistent numbers of samples: %r" 409 % [int(l) for l in lengths] ValueError: Found input variables with inconsistent numbers of samples: [2286, 238]수업 내용대로 했는데 이러한 에러가 나오네요.. 그대로 코드로 작성했는데요. 샘플 수가 안맞는건가요.
-
미해결[파이토치] 실전 인공지능으로 이어지는 딥러닝 - 기초부터 논문 구현까지
분류 성능이 잘 안 나오는 이유
안녕하세요 강사님..제가 일주일이 넘는 기간 동안 계속 이것저것 시도를 해봤음에도 왜 분류 성능이 10%인지를 모르겠어서 실례를 무릅쓰고 질문을 올리게 되었습니다..cifar10 이미지가 32 크기여서 128 정도로만 rescale을 했고, normalize도 진행했음에도 계속 성능이 10%대이고, loss는 줄어들었다가 갑자기 튀기도 하면서.. 제대로 학습이 되고 있지 않은 것 같습니다ㅠㅠ 바쁘시겠지만 문제의 원인이 무엇인지 여쭤보고 싶습니다ㅠㅠ감사합니다.. https://drive.google.com/file/d/1FEsv1dex9y9I4AFqX42gBIhVeeOcgQXQ/view?usp=sharing
-
해결됨딥러닝 차세대 혁신기술 - 물리 정보 신경망 입문과 Pytorch 실습
PINN 의 business 적용 분야에 대한 질문 입니다.
안녕하세요? PINN 이 무엇인지 매우 궁금하던 차에 인프런에서 강의가 개설되어 수강하게 되었습니다.짧은 시간에 PINN 의 개념과 큰 그림을 이해하는데 매우 도움이 많이 된 강좌여서 정말 감사하다는 말씀을 먼저 드리고 싶습니다 ^^ 제조업체에서 AI 적용을 고민하는 직무에 있다보니 PINN 이 어떤 분야를 대체하기 위해 고안된 것인지 등... business 적용에 대한 몇 가지 질문을 드려 보고자 합니다.일단 PINN 에 대한 저의 이해도가 정확한지 부터 확인하고 싶은데요, 네트워크 구조에는 다른 딥러닝 방법론과 차이점이 없어보이고, 변수에 미분방정식의 변수가, loss function 에는 지배방정식인 미분방정식이 적용되고, 해당 미분방정식을 규제해 주기 위한 초기값이나 경계조건도 Loss 에 반영되어야 한다는 것으로 이해했습니다. 그러다 보니 데이터가 없어도 학습이 가능하고, 일부데이터가 있다면 loss 값에 포함을 시켜서 모델의 오차를 보정시켜 주는 용도로 활용이 되는 것 같습니다. 제가 이해한 것이 맞는지요?그렇다면 제조업계에서의 PINN 이 어느 분야에 잘 맞는지...에 대한 근본적인 질문을 드리고 싶은데요, 해당 시스템 behavior 를 설명할 수 있는 미분방정식이 명확하다는 말은, 그냥 해당 미분방정식에 수치를 넣어서 계산하면 딥러닝에 적용하는 것 보다 더 명확하고 신뢰도 높은 solution 을 얻게 될 것으로 생각이 되어서요.. 만약 CPU solving 자원이 넉넉하다면 굳이 PINN 적용 할 필요 없이 해당 분야에 신뢰도가 높은 지배방정식 자체를 사용해서 문제를 풀면 되는 것은 아닌지요?CAE solving 과정이 미분방정식을 푸는 과정이고 제조업체에서 명확한 지배방정식이 정의 될 수 있는 분야는 CAE analysis 가 가능한 분야라고도 볼수 있을 텐데, 그렇다면 PINN 적용이 가능한 거의 대부분의 문제가 현재 CAE 로도 solving 가능한 분야로 거의 한정되는 것으로 이해하면 될지도 궁금합니다. 그렇다면PINN 의 효용성이란 것은 CAE 보다 좀 더 효율적인 (CPU or GPU 자원도 적게 사용하고 예측시간도 CAE solving 시간보다 많이 짧은) 방법이다.. 정도로 이해 되기도 하는데, '효율성' 이외에도 PINN 이 지배방정식을 컴퓨터로 직접 solving 하는 것보다 더 우수할 수 있는 장점이 있다면 어떤것 들이 있을지요..? 왠지 PINN이 지배방정식이 성립하거나 성립하지 않는 분야를 모두 가지고 있는 일반 제조업체에서 딥러닝을 적용하는 경우보다는 차세대 solver 를 연구하는 CAE software 회사에 더 중요한 방법론인것 같은 느낌도 들어서.. 드리는 질문입니다.꼭 미분방정식이 아니더라도 해당 물리현상의 거시적인 현상을 설명할 수 있는 모종의 수식 혹은 미분방정식은 아니지만 현상적으로 검증된 실험식이 존재한다면 (세부적으로 들어가자면 오차는 존재하지만 거시적인 경향을 따라가는), Loss function 에 PIMM 을 적용해 볼 수 있을지.. 에 대한 질문도 드립니다. 예를 들어 3차원 이미지를 input 받아서 3차원 이미지를 3D convolution layer 로 prediction 하는 경우 (3차원의 pixel level prediction) input 좌표 x,y,z 에 따라서 output 이미지의 좌표 x,y,z 에서의 특성치 u가 모종의 좌표에 따른 함수 관계로 trend 를 따라간다는 것이 이미 증명이 되어 있는 경우라면, u = f(x,y,z) 와 같은 함수를 loss function 에 반영해 놓고, 수집한 데이터에 와 모델이 예측한 값에 대한 MSE 를 더한 loss function 을 minimize 하는 방향으로 학습을 시키는 것도 의미를 가질 수 있는 PINN 활용 방안이 될 수 있는지.. 궁금합니다.
-
미해결처음하는 딥러닝과 파이토치(Pytorch) 부트캠프 (쉽게! 기본부터 챗GPT 핵심 트랜스포머까지) [데이터분석/과학 Part3]
아나콘다를 사용하지 않고 파이토치 사용하는 방법
회사에서는 라이선스 문제로 아나콘다를 설치하여 사용하지 못하고 있습니다. 그래서 이전 강의부터 계속 VS CODE에서 주피터노트북 확장자를 사용하여 강의를 듣고있습니다. 머신러닝 강의 때는 VS CODE에서 라이브러리가 문제 없이 설치되었는데, 파이토치의 경우 터미널에서 pip install torch torchvision torchaudio 한 후, 셀에서 import torch를 하면 계속 "[WindError 126] 지정된 모듈을 찾을 수 없습니다.~~~~" 에러가 뜹니다. 혹시 VS CODE에서 주피터노트북을 활용하여, PIP를 통해 파이토치 설치법을 알려주실수있는지 문의드립니다. 추가로 CUDA를 지원하지 않는 경우 cpu only로 설치해도 강의를 따라하기에 무리가 없는지 궁금합니다. - 강의 영상에 대한 질문이 있으시면, 주말/휴일 제외, 2~3일 내에 답변드립니다- 우선 질문전에 검색을 꼭 해보세요. 저희 목표는 스스로 이슈를 해결하는 역량을 기르는 것이고, 이는 즉 검색역량을 기르는 것입니다- 강의 영상 외적인 질문은 인프런 커뮤니티 (https://www.inflearn.com/community/questions) 도 활용해보세요~
-
미해결[파이토치] 실전 인공지능으로 이어지는 딥러닝 - 기초부터 논문 구현까지
AutoEncoder 차원 질문
안녕하세요! 오토인코더 구현 중 질문이 있어서 글을 남기게 되었습니다.class AutoEncoder(nn.Module): def __init__(self): super().__init__() k = 16 self.encoder = nn.Sequential( nn.Conv2d(1, k, 3, stride=2), nn.ReLU(), nn.Conv2d(k, 2*k, 3, stride=2), nn.ReLU(), nn.Conv2d(2*k, 4*k, 3, stride=1), nn.ReLU(), nn.Flatten(), nn.Linear(1024, 10), nn.ReLU() ) self.decoder = nn.Sequential( nn.Linear(10, 1024), nn.ReLU(), nn.Unflatten(1, (4*k, 4, 4)), nn.ConvTranspose2d(4*k, 2*k, 3, stride=1), nn.ReLU(), nn.ConvTranspose2d(2*k, k, 3, stride=2), nn.ReLU(), nn.ConvTranspose2d(k, 1, 3, stride=2, output_padding=1) )여기에서 nn.Linear(1024, 10), nn.ConvTranspose2d(k, 1, 3, stride=2, output_padding=1)에 질문이 있습니다.채널 수를 직접 맞춰주는 것이 아니라 반환 받아서 그 값을 nn.Linear(이 부분, 10)에 넣어주고 싶은데 gpt 한테 물어보니까 그러려면 이렇게 직접 구해서 add_module을 해줘야 한다던데...정말 이런 방법 뿐인지ㅜㅜ 매번 채널수를 직접 구해야 하는 것인지 궁금합니다!def __init__(self, input_shape=(1, 28, 28)): super().__init__() k = 16 self.encoder = nn.Sequential( nn.Conv2d(1, k, 3, stride=2), nn.ReLU(), nn.Conv2d(k, 2*k, 3, stride=2), nn.ReLU(), nn.Conv2d(2*k, 4*k, 3, stride=1), nn.ReLU(), nn.Flatten(), ) self.latent_dim = self.get_encoder_dim() self.encoder.add_module('linear', nn.Linear(self.latent_dim, 10)) self.encoder.add_module('relu', nn.ReLU()) def get_encoder_dim(self): x = torch.randn(1, self.input_shape) x = self.encoder(x) return x.view(1, -1).size(1)nn.ConvTranspose2d(k, 1, 3, stride=2, output_padding=1) 여기에서도 output_padding=1이 필요한지 알기 위해서는 직접 계산을 다 해봤어야 하는 것인데.. 이것도 위의 경우와 마찬가지로 직접 구하는 방법 뿐인지 알고 싶습니다!감사합니다!
-
해결됨[파이토치] 실전 인공지능으로 이어지는 딥러닝 - 기초부터 논문 구현까지
사전 학습 모델에서의 layer 변경에 대한 질문
안녕하세요 강사님, 강의 잘 보고 있습니다.다름이 아니라, pretrained model에서 강의에서와 같이(1) model의 feature extraction 부분에서 Conv2d의 kernel_size를 줄이고 (2) model의 fully connected layer에서 출력 크기를 10으로 줄인 부분에서 의문이 있어서 글을 남기게 되었습니다.(2)의 경우는 사실 fully connected layer가 복잡한 구조..?를 가지지는 않는다고 생각하여 다시 학습하는 데 별로 문제가 없다고 생각합니다.하지만, (1)의 경우, 모델의 초반에서 아예 kernel size를 변경했고, 모델 프리징 강의에서 언급하신 바와 같이 그렇게 바꾸게 되면 임의의 랜덤 값으로 가중치가 초기화된다고 말씀하셨는데..! 그렇다면 Imagenet 모델로 사전 학습한 것이 의미가 있는건지 살짝 의문이 듭니다ㅠㅠ사전 학습 모델의 목적이 그대로 웨이트를 사용한다는 것보다 모델의 구조를 가져온다는 것이라면 납득이 되지만, 사전 학습에서의 가중치가 transfer learning 될 때 어떻게 사용되고 변하는지를 잘 몰라서 이런 궁금증이 생긴 것 같습니다..항상 좋은 강의 감사합니다!!