묻고 답해요
150만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결딥러닝 CNN 완벽 가이드 - Pytorch 버전
numpy, pandas
안녕하세요. 선생님numpy, pandas가 아직 익숙하지 않은데, 이 경우 어떤 교재나 강의를 보면서 하는걸 추천드리시나요?
-
미해결6일 만에 배우는 파이토치 딥러닝 기초
3-4 이진분류 모델링 실습 원핫 인코딩 질문 드립니다.
안녕하세요.3-4 이진분류 모델링 실습 .ipynb 파일에서 궁금증이 생겨 질문 드립니다.이직 여부 예측 분류 문제에서 직원 샘플에 대해 여러 가지 종류의 feature가 있는 것을 알 수 있습니다.이 feature 중에는 숫자형 데이터도 존재하고, 범주형 데이터, 문자형 데이터(drop해서 삭제)도 존재합니다.숫자형 데이터 같은 경우에는 그대로 모델링에 사용해도 되지만, 범주형 데이터 같은 경우에는숫자 1 ~ 5 혹은 1 ~ 4 형태이긴 하지만 해당 숫자가 연속성을 가진 숫자가 아니고, 특정 의미(Bad, Good 등)를 가지는 범주를 나타내는 형태로 의미가 파악이 됩니다. 그렇기에 해당 데이터들에는 원핫 인코딩을 해야 할 것이라고 생각이 되는데, 이러한 생각이맞는지 여쭈어 보고 싶습니다. 더불어 문자 데이터 feature는 삭제하고, 범주형 데이터는 원핫 인코딩을 하고, 숫자형 데이터는그대로 이용해서 모델을 학습하고 예측을 한 결과, 이직 여부에서 Yes(1.0)인 경우에서의 정밀도와 재현율이 상당히 낮게 나오는 것을 확인할 수 있었습니다.그래서 혹시 Yes(1.0)이 200개, No(0.0)이 1050개로 차이가 나서 이런 결과가 나온 것인가 싶어 훈련, 평가 데이터 분류에서 stratify=y를 하였는데도 결과는 크게 달라지지 않았습니다. 이에 대해서도 선생님께 여쭈어 보고 싶습니다. 읽어주셔서 감사합니다.
-
미해결[AI 기초] AI Research Engineer를 위한 CNN 이해하기
input_channel, output_channel은 질문입니다.
강의 CNN (2) - input_channel, output_channel은 무엇을 의미하는가 ? 이 파트 질문입니다.3분에 8채널이 되면, 필터가 어마무시하게 많아진다고 하셨는데 아래 그림같이 엣지 필터나 블러필터 하나로 1,1열 적용하고 1,2행 적용하는거 아닌가요?[[-1, 0, 1],[-2, 0, 2],[-1, 0, 1]])
-
미해결[AI 기초] AI Research Engineer를 위한 CNN 이해하기
.
.
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
Boston 코랩 실습
안녕하세요. 코랩에서 해당 실습을 진행하고자 합니다. 현재 코랩 내의 사이킷런 버전이 1.6.1이며, 안내해주신 방법으로 버전 재설치가 되지 않아서 문의를 남깁니다. 버전 설치 코드에 대한 오류는 다음과 같습니다. 확인해주시면 감사하겠습니다!
-
해결됨딥러닝 이론 + 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 연산으로 오는 것이 아닌가요?
-
해결됨파이썬을 활용한 머신러닝 딥러닝 입문
feature scaling 부분
안녕하세요. feature scaling 부분에그래프 예시 (before, after) 에 표준정규화를 거치면 분포가 다 같아지는것처럼 그려졌는데각각 다른 분포를 가진 데이터들이 전부 같은 분포로 바뀌게 되면 서로 다른 데이터의 의미자체를 잃어버리는것 아닌가요? 감사합니다.
-
미해결[AI 기초] AI Research Engineer를 위한 CNN 이해하기
pytorch 설치시 anaconda를 더이상 지원하지 않는다고 합니다.
pip3로 설치해도 괜찮을까요?
-
미해결6일 만에 배우는 파이토치 딥러닝 기초
2일차 참조 답안
2일차 참조 답안을 보면 학습을 두 번 시키는 이유가 있을까요? 학습을 두 번 시키면 과적합이 발생하지 않나요?
-
해결됨딥러닝 이론 + 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
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
배치 정규화의 이해와 적용 2 강의 질문
선생님 안녕하세요좋은 강의 감사드립니다. 배치 정규화의 이해와 적용 02 강의의 12:19 ~ 12:20 를 보시면 코드에 이상한(?) 부분이 있는 것 같습니다. x = Conv2D(filters=64, kernel_size=3, padding='same')(x) x = Activation('relu')(x) x = Activation('relu')(x) x = MaxPooling2D(pool_size=2)(x)코드가 이렇게 되어있는데요. 왜 activation을 2번 해주시는 것이죠? 아래와 같이 수정되어야 하는 것이 아닌지, 질문드립니다.x = Conv2D(filters=64, kernel_size=3, padding='same')(x) x = BatchNormalization()(x) ########### 수 x = Activation('relu')(x) x = MaxPooling2D(pool_size=2)(x)
-
미해결설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)
소프트 맥스 관련 질문드립니다.
안녕하세요AI 가속기 관련해 최근 연구를 시작하게 된 석사과정생입니다강의 감사히 잘 듣고 있습니다. 다름이 아니고, 일반적으로는 matrix multiplication에 관한 가속기가 연구되는 것으로 알고 있으나최근에 제가 진행하고 있는 연구 주제가 softmax 연산에 관한 가속기라, 이러한 연구에 관해 질문을 좀 드리고 싶습니다.강의 중에 CNN에서는 사실상 마지막 단에서 max값만 찾아 분류를 수행하면 되기 때문에 굳이 inference시에는 softmax연산을 진행하지 않아도 된다라고 말씀해주셨습니다.혹시 그렇다면 softmax연산을 가속하는 것 자체가 큰 contribution이 없는 연구일까요?CNN말고 transformer에서도 Query와 Key의 유사도를 구하고 이를 가중치 값으로 쓰기 위해 softmax연산을 사용하는데, 여기서도 굳이 inference시에 softmax연산을 사용할 필요 없이, 유사도가 높은 순으로 나열하기만 하면 되는 건지 의견을 여쭙고 싶습니다.연구를 하며 정말 많이 헤매고 있었는데,이 분야에 대해 저와 같은 초심자도 이해하기 쉽도록 좋은 강의 제공해주셔서 정말 감사드립니다.혹시 강의 내용과 많이 벗어나는 질문이었다면 죄송합니다 ㅠㅠ 현업자 분의 의견을 여쭙고 싶어 올리게 되었습니다.
-
해결됨[AI 기초] AI Research Engineer를 위한 CNN 이해하기
논문구현 강의수강 관련
안녕하세요, 선생님의 논문구현 강의 수강 전에 문의드릴 것이 있어 부득이하게 여기에 질문 드립니다.가용할 gpu가 마땅치 않아 코랩을 이용해야 할 것 같은데 해당 강의를 수강하는데 문제가 될까요?감사드립니다
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
Augmentation원본에 적용해서 데이터 갯수 자체를 늘리는 행위는 의미가있나요?
지금은 훈련시에 원본 데이터의 형태가 변형되어 train 이미지의 갯수는 변형되지 않는데 애초에 train 이미지에 data augmentation 을적용하여 갯수 자체를 늘려서 학습시키는 건 좋지 않은가요?
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
Conv함수 안에 activation 을 넣지 않는 이유가 뭔지 궁금합니다.
model.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1))) 이렇게 쓰기도 했었는데 1. 혹시 activation 을 따로 두게되면 어떤 점이 달라지나요?2. 또한 Conv, BatchNormalization, Activation, MaxPooling2D, Dropuout 이 있다면 순서가 어떻게 되나요?
-
미해결설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)
Data형태에 따른 AI가속기 구현 질문
안녕하세요, 강의를 수강하다가 궁금한 점이 있어서 질문드립니다. 강의에서 사용한 Data는 기본 integer를 사용하여 MAC연산을 rtl로 구현 시 +, * 연산자들을 이용하여 구현을 하셨는데 만약 입력으로 들어오는 feature, 학습이 완료된 weight들이 Floating point 32, Brain Floating16 등의 형태를 가지고 있다면 해당 데이터형에 알맞은 ALU 를 따로 설계 후 instance해오는 방식으로 Core를 설계하는지, 그리고 실제 일반적인 AI 가속기 구현 시 주로 어떤 형태의 Data형을 더 많이 사용하는지 궁금합니다! ==================
-
해결됨인공신경망 이론과 DNN, CNN 아키텍처 이해 및 구현
7강 iris데이터 분류를 위한 DNN모델
교수님 7강 제목은 iris데이터 분류를 위한 DNN모델 수업이라고 제목이 되있지만, 실제 내용은 와인 데이타 분류입니다. 그리고..7강 10분 분량이 8강 앞 부분에서 겹치고 있습니다.
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
소프트맥스 관련 질문입니다
안녕하세요 선생님얼마전 머신러닝 완벽가이드 강좌에 소프트맥스 질문 드렸던 사람입니다.저는 소프트맥스 연산에 대한 하드웨어 가속기 설계 연구를 진행하고 있는 석사 과정생입니다.그 때 남겨주셨던 답변에 대해 답을 드리면, Softmax의 Input 정밀도라는 것은, 마지막 FC layer를 통과한 후, Softmax층의 input으로 들어가는 값에 몇 bit를 할당할 것이냐에 관한 내용입니다. 즉 제가 알고 싶은 내용을 다시 정리해보면 다음과 같습니다. softmax의 input (혹은 output도)에 많은 bit가 할당되면, H/W resource가 커지게 되므로, 모델의 accuracy를 크게 저해하지 않는 수준에서 어느 정도의 정밀도를 유지해야 하는지 알고 싶습니다. 하여 모델에서 softmax input 전에 따로 텐서 안의 값들을 특정 소수점 자리에서 반올림 해주는 함수를 정의해 반올림을 거치거나, 기존의 FP32를 FP16으로 casting을 거치도록 하여 좀 더 낮은 정밀도에서 잘 돌아가는 지 시뮬레이션을 해보는 중이었습니다. 저의 시뮬레이션 내용은 아래에 첨부하겠습니다. (rounding의 경우는 텐서 안의 값들이 제대로 반올림이 안된 것인지, 아니면 다른 이유가 있는 것인지.. 소수점 10번째에서 rounding을 하든, 20번째, 30번째에서 하든 accuracy에 큰 변화가 없고 거의 36프로 정도를 보였습니다.) 또 일반적으로 H/W설계 시에 floating point보다 fixed point가 구현이 훨씬 간단하며, 리소스 사용량이 매우 적은데, 소프트웨어적으로 모델을 학습시킬 때의 데이터는 대부분 float 32 또는 float 64를 이용하는 것 같습니다. 이는 역전파 과정에서 높은 정밀도가 필요하기 때문이 아닐까 싶은데, 모델 학습 시에 fixed point를 사용했을 때 발생할 수 있는 문제점이 있을까요 ? (소수점 10째자리에서 반올림을 하든, 20,30째자리에서 반올림을 하든 이론상으로는 정밀도가 높아질수록 accuracy가 높아져야 될 것 같은데 제 시뮬레이션 상으로는 모두 36프로의 정확도를 보여 코드에 문제가 있는 것인지, 아니면 알고리즘적으로 문제가 있는 것인지 궁금합니다.) 또한, FP16으로 표현 가능한 최대 정밀도의 값들이 훈련 시에 자주 사용되는지, 실제로 필요한 수준의 정밀도인지 궁금합니다. softmax 층의 input으로 들어가는 logit값(?)들의 range가 어느 정도인지도 궁금합니다. 아마 모델과 사용하는 데이터에 따라 크게 달라질 것 같기는 한데, 제가 읽었던 softmax accelerator관련 논문들에서는 일반적으로 softmax의 input의 range를 [-10,10]으로 가정을 했습니다. (알고리즘 분야가 아닌 하드웨어 논문들이기는 합니다..ㅠㅠ) 허나 실제 학습 시에 floating point를 사용한다는 것은 분명 logit값이 10보다 매우 큰 값이기 때문일 것 같은데 왜 논문들에서는 저런 범위를 가정했는지 궁금하여 든 생각이 혹시 practical한 모델 내에서는 softmax로 들어가기 전에 특정 범위 안으로 들어가도록 전 처리를 해주는 layer가 따로 있는 것인지 궁금했습니다. 또 학습이 점점 진행되면서 logit 값이 학습 후반부로 갈수록 일반적으로 수렴하는 분포(?)가 있는 것인지 궁금합니다.. (epoch별로 logit 값을 출력해보고 싶은데, 아직 코딩에 익숙치 않아 난항을 겪고 있습니다)본질적으로 softmax를 사용하는 이유가 궁금합니다.. multi classification에서 결국 하나의 class로 분류하는 것이 목적인데, 그러면 최종 logit값들 중 가장 큰 값을 선택하면 되는데 왜 굳이 softmax를 통해 확률 분포를 만든 후에 가장 높은 확률의 class로 선택하는지가 궁금합니다. (어차피 softmax를 취한 후의 maximum이나 취하기 전의 maximum이나 같을텐데)( 시뮬레이션 내용 ) 지난 번의 코드는 깃헙에서 임의로 가져온 코드라 조금 더 제대로 된 코드로 실습하고자 이번에는 선생님의 강의 자료인 VGG_Practice 실습 코드를 이용했습니다. 실습 코드의 모델 정의 부분에서 소프트 맥스 layer 직전에 rounding, 혹은 casting하는 부분을 추가한 것 외에 달라진 점은 없습니다.그림 1: float 16그림 2. float 16 결과그림 3. rounding (소수점 10째자리에서 반올림)그림 4. rounding 결과회로 설계 관련 연구를 진행하다 보니 AI 알고리즘에 대한 지식이 부족하여 다소 난해하게 질문드리게 된 점 정말 죄송합니다.. 또 하드웨어적 관점에서 생각하다보니 알고리즘 부분과는 다소 동떨어진 질문이 있을 수도 있을 것 같은데, 그런 부분이 있다면 죄송합니다 ㅠㅠ몇 년전, 동아리 활동을 하면서 머신러닝에 관심을 갖게 되어 선생님의 강의를 수강하고, 잘 공부했었던 기억이 있어 이렇게 다시 찾아 질문 드리게 되었습니다.긴 내용 읽어주셔서 감사드립니다..
-
미해결파이썬을 활용한 머신러닝 딥러닝 입문
MAtplotlib 기초
OOP style 부분에서 자꾸 name 'fig' is not defined라고 오류가 나는데 어떻게 해결하나요..?