묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨딥러닝 이론 + 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라고 오류가 나는데 어떻게 해결하나요..?
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
GoogleNet Inception 모듈
안녕하세요 선생님강의 잘 보고 있습니다구글넷의 인셉션 모듈 설명 중에 MAX pooling이 포함되어 있는데요보통 max pooling은 인풋의 사이즈를 줄이는 것으로 알고 있는데 그러면 다른 컨볼루션이 통과된 아웃풋과 사이즈가 달라져서 concat이 안되는 거 아닌가요?아니면 여기에 포함된 컨볼루션들은 max pooling과 같은 stride를 같는 걸까요?
-
해결됨인공신경망 이론과 DNN, CNN 아키텍처 이해 및 구현
3장-3절 케라스를 이용한 CNN모델링 PDF 자료가 3장-5절과 중복됩니다.
3장 -3절 케라스를 이용한 CNN모델링 PDF자료가 5절 자료와 중복됩니다.^^
-
해결됨딥러닝 CNN 완벽 가이드 - TFKeras 버전
강의 관련 질문입니다
안녕하세요 강사님 강의 잘듣고있습니다 fast api 강의 관련으로 질문드리고 싶어 질문남깁니다 현재 대학교 재학하면서 특정 기능을 수행하는 딥러닝 모델을 만든 후에 이를 배포해 웹에서 사용하는 프로젝트를 수행하려하는 중 강사님께서 fast api와 함께 웹 개발을 전체적으로 다루시는 강의를 출시한 것을 확인했습니다 제가 하려는 프로젝트의 방향과 fast api 강의의 내용이 부합할지 여쭙고 싶어 구매한 다른 강의에 실례를 무릅쓰고 이렇게 질문 드립니다 읽어주셔서 감사합니다
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
Batch Normalization 효과
안녕하세요 선생님강의 정말 잘 보고 있고요제 많은 질문들에도 너무 성심성의껏 답변 달아주셔서 감사합니다 ㅎㅎBatchNorm이 설계된 의도는 internal covariate shift를 해결하기 위해 제안되었다는 것은 이해했습니다.하지만 실제로는 그렇지 않고 optimization surface를 매끄럽게 해서 학습이 잘된다라고 설명하신 것까지 들었습니다.제가 이해한 바로는 활성화 함수에 들어가는 입력의 분포를 조정해서 학습이 잘되는 위치? 분포를 학습하는 것으로 이해했는데요(sigmoid로 예시를 든다면 더 이상 업데이트가 되지 않아도 될 정도라면 기울기가 saturate되는 부분으로 혹은 업데이트가 많이 되어야 한다면 0부근으로 이동시키는 등의) 정확히 어떤 원인에 의해 surface가 매끄러워지는 효과를 가지게 되는 것인지 궁금합니다..!
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
Layer Norm이 언어모델에 적합한 이유
안녕하세요 선생님강의 정말 잘 보고 있습니다.Layer Normalization을 보는 중에 입력 데이터를 Normalization하는 것을 통해 scale이나 shift에 robust하게 되는 것까진 이해했습니다.이런 효과가 왜 이미지보다 언어 모델에 더욱 효과적인지 이유를 알 수 있을까요?
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
residual block과 identity block의 차이
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 강의 내용을 질문할 경우 몇분 몇초의 내용에 대한 것인지 반드시 기재 부탁드립니다. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 강의 정말 잘 듣고있습니다!resnet을 공부하던 중 궁금증이 들어서 그런데 residual block과 identity block은 같은 말인건가요??
-
미해결설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)
cnn_core simulaiton
안녕하세요. 좋은 강의 감사합니다. 혹시 시뮬레이션을 윈도우 vivado 프로그램으로 볼 때 따로 방법이 있을까요?값이 high impedance(z) 혹은 x 만 들어와서 질문 드립니다! 안녕하세요 🙂[1. 질문 챕터] : eg) 몇 장, 몇 분 몇 초 쯤. or 수강생 분들이 봤을 때 어디구나?! 할 수 있게 표기 부탁 드려요.[2. 질문 내용] : eg) 질문 내용을 자유롭게 작성해주시면 되겠습니다 🙂[3. 시도했던 내용, 그렇게 생각하는 이유] : eg) 설치영상은 이렇게 시도했는데 안되더라 or 본인의 생각을 적어주세요. (실습 내용 중에 이해가 안되거나 잘못된 내용이 있는데, 이러 이러한 근거로 나는 이렇게 생각합니다.) ================ 다음 내용은 읽어보시고 지우시면 됩니다.=================질문 내용을 작성해주실 때, 위의 3단계로 제가 이해할 수 있게 작성해주시면 정확한 답변을 드릴 수 있을 것 같아요!!현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
옵티마이저와 경사하강법의 차이가 궁금합니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 강의 내용을 질문할 경우 몇분 몇초의 내용에 대한 것인지 반드시 기재 부탁드립니다. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 어느정도 찾아본 결과 옵티마이저는 최적의 파라미터를 찾아주는 알고리즘을 뜻한다고 합니다.그런데 제가 듣기로는 경사하강법도 비슷한 개념인 것 같습니다.그렇다면 옵티마이저 안에 경사하강법과 monentum, adagrad 등등 다 포함되는 건가요?
-
미해결설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)
zynq z7 10 parameter 크기
zynq z7 10 으로 하고 있는데 어디 크기를 4분의 1로 줄이면 될까요? 수업듣고도 생각나는 부분 건들여봤는데 안되어서 질문드립니다.*defines_cnn_core.vh 파일에서 paramter CI=3, CO=16, KX=3, KY=3 을 다음과 같이 바꾸었습니다. CI=3, CO = 12, KX = 2, KY=2이외에 다른 parameter를 건들여야하는게 맞을까요?안녕하세요 🙂[1. 질문 챕터] : eg) 몇 장, 몇 분 몇 초 쯤. or 수강생 분들이 봤을 때 어디구나?! 할 수 있게 표기 부탁 드려요.[2. 질문 내용] : eg) 질문 내용을 자유롭게 작성해주시면 되겠습니다 🙂[3. 시도했던 내용, 그렇게 생각하는 이유] : eg) 설치영상은 이렇게 시도했는데 안되더라 or 본인의 생각을 적어주세요. (실습 내용 중에 이해가 안되거나 잘못된 내용이 있는데, 이러 이러한 근거로 나는 이렇게 생각합니다.) ================ 다음 내용은 읽어보시고 지우시면 됩니다.=================질문 내용을 작성해주실 때, 위의 3단계로 제가 이해할 수 있게 작성해주시면 정확한 답변을 드릴 수 있을 것 같아요!!현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================
-
미해결설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)
ip 패키징 질문
패키징시 이런 문제들이 뜹니다. 해결책에 대해서 여쭤보고싶습니다. [IP_Flow 19-11770] Clock interface 's00_axi_aclk' has no FREQ_HZ parameter. [IP_Flow 19-2187] The Product Guide file is missing. [IP_Flow 19-11888] Component Definition 'xilinx.com:user:cnn_core_test_ci3_co32_v1_0:1.0 (cnn_core_test_ci3_co32_v1_0_v1_0)': IP description "cnn_core_test_ci3_co32_v1_0_v1_0" is not meaningful: same as name or display name