월 22,000원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
Dropout 적용 시 학습, 테스트 시 질문입니다!
안녕하세요! 강의 잘 듣고 있습니다! 해당 강의 실습코드에서 CNN 모델 설계 시 중간에 Dropout을 적용하잖아요? Dropout이 사전에 정의한 비율만큼의 랜덤한 노드들을 삭제해서 오버피팅을 줄이고자 하는 것이라고 알고 있는데요! 랜덤하게 노드를 drop 하다보니 학습,검증 데이터로 평가할 때는 Dropout을 적용하되 Test 데이터에 대해서 평가를 할 때는 Dropout을 적용하지 않아야 한다고 알고 있는데요!(혹시 아니라면 답변 달아주세요!) Q1. 그렇다면 Tensorflow keras 모듈에서도 evaluate() 함수를 사용할 때는 설계한 모델에 Dropout layer가 들어있어도 evaluate 할 때는 내부적으로 학습시킨 모델에서 Dropout layer를 적용하지 않고 테스트 데이터에 대해 최종 예측하게 되나요? Q2. 그리고 Dropout이 랜덤하게 노드를 삭제하다보니 학습할 때, 만약에 Epoch = 5라면 1번 Epoch를 돌 때마다 삭제될 노드들이 바뀌나요? 아니면 애초에 랜덤 시드 처럼 삭제될 노드를 처음에 못 박아놓고 Epoch 돌 때마다 매번 동일한 노드들을 삭제되나요? 혹시 질문이 잘 이해가 안 가신다면 답변 달아주세요! 감사합니다 :)
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
np.random.seed = 2021, %matplotlib inline
1) 안녕하세요 강사님. np.random.seed = 2021과 관련해서 궁금한 점이 있어 질문 드립니다. np.random.seed의 type이 int형임을 파악했는데요. np.random.seed라는 변수는 어디서 사용이 되는 건가요? random seed로 사용하기 위해 선언해 놓으신 것 같은데 어떤 함수의 인자로도 사용되는 모습이 보이지 않아서 어디에 쓰이는지 잘 모르겠습니다. 2) %matplotlib inline의 역할을 알아보기 위해 인터넷에 검색을 해보았는데요. notebook을 실행한 브라우저에서 바로 그림을 볼 수 있게 해주는 것임을 알게 되었습니다. 그래서 %matplotlib inline 이 없으면 현재 브라우저 상에 그림이 나타나지 않을 것을 기대하고 %matplotlib inline을 지워봤는데 똑같이 저 그림이 출력됩니다. 제가 어디서 잘못 이해하고 있는 걸까요? 항상 좋은 강의 감사합니다.
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
Sequence의 __getitem__의 질문
def __getitem__(self, index): 이렇게할때 여기서 index는 어디서 받아오는건가요? 함수 CnD_Dataset을 만들때는 __init__관련 값들만 넣어주고(cnd_ds = CnD_Dataset(train_image_filenames, train_image_labels, batch_size=BATCH_SIZE, augmentor=cnd_augmentor, shuffle=False) )index는 언급해주지않았는대, 어떤식으로 들어가서 나오는걸까요? 저는 cnd_ds[2]를 하게되면 [128:192]로 64개의 배치가 나온다고 이해하였는대 함수를 또 돌려보니 그렇지않아 질문드립니다.!
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
Custom한 Dense Layer 만드는 코드에서 build 메소드 질문입니다!
안녕하세요! 좋은 강의에 감사인사 드립니다. fashion_mnist_practice 주피터 실습 파일에서 목차 "Custom한 Dense Layer 생성하기" 부분에서 궁금한 점이 생겨 질문드립니다. 하단에서 call 메소드를 만드는 부분은 강의에서 잘 설명해주셔서 어디에서 실행되는 지 이해가 갔는데 build 메소드는 구체적으로 어디 단계에서 실행되는 건가요? 텍스트로는 이해가 안되실 것 같아서 사진을 첨부합니다! 답변 주시면 감사하겠습니다!
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
CNN의 feature map의 학습과 관련하여 질문드립니다.
권철민 선생님 안녕하십니까? 좋은 강의 열어주셔서 정말 감사합니다. 일전에 딥러닝 컴퓨터 비전 완벽 가이드를 수강할 때도 그 당시에 진행하던 프로젝트에 아주 큰 도움을 얻었습니다. 비전공자인 저에게는 선생님의 강의가 너무 소중합니다! 논문 리뷰를 하다보니 CNN에 대해 궁금한 점이 생겨 질문을 올리게 됐습니다. CNN 기반의 Siamese Network를 활용한 논문 중에 도시의 거리 사진에 대해 사람들이 느끼는 안전성을 예측하는 것이 있었습니다. 도시의 거리 사진이 주어지면 모델이 1(안전하다)/0(안전하지 않다)로 output을 리턴합니다. (사실 이 논문은 Siamese Network로 끝나지 않고 뒤에 ranking loss를 붙이기 때문에 두 사진 사이의 유사도를 넘어 한 사진에 대한 예측값을 구할 수 있습니다.)(그런데 제가 질문드리고자 하는 핵심 부분은 이것이 아니기 때문에 간단히 위처럼 표현해봤습니다!) 우선,, 수업 내용에서 배운 것을 상기해보자면, CNN을 활용하여 image classification 모델을 학습시키는 것은 다수의 class를 잘 구분할 수 있도록 filter의 weight 값을 찾는 것이라 말씀해주셨습니다. 강아지와 고양이 클래스만 존재한다면, 이 둘을 잘 구분해줄 수 있는 feature map의 weight 값을 찾는 것이 트레이닝의 목표라 할 수 있을 것 같습니다. 제가 위에서 언급한 논문을 읽으며 의아했던 점은, 강아지 그리고 고양이와는 달리 1로 라벨링된 도시의 거리 이미지의 경우 사진이 정말 제각각이라는 점에서 시작이 되는데요 . (물론 강아지 데이터셋도 살펴보면 강아지 종류에 따른 생김새 그리고 포즈 등이 제각각입니다.) CNN을 활용하면, '사람의 눈으로 보기에는' 제 각각인 사진 속에서도 '안전하다'와 '안전하지 않다'를 잘 구분할 수 있는 feature map을 학습시킬 수 있다는 것일까요? 고양이, 강아지, 자동차, 도로의 파손된 부분과 같은 구체적인 물체를 탐지하거나 분류하는 논문들은 익히 접해봤지만, 이와 같은 인지 예측과 관련된 논문을 만나니 약간 혼란스러워 질문을 드리게 됐습니다. 강아지와 고양이도 생김새나 포즈가 제각각이지만 그 둘을 구분할 수 있는 feature map의 wieght을 학습할 수 있듯이 도시의 거리 이미지도 제각각이지만 안전하다/안전하지 않다를 구분할 수 있는 feature map의 weight을 학습할 수 있다.. 이렇게 이해를 해도 괜찮을까요? 제가 읽은 논문을 바탕으로 질문을 드리는 것이 혹시나 질문할 수 있는 범위를 넘어서는 것일까봐 많이 고민을 했지만, CNN을 이해하는 과정 속에서 너무나 궁금한 부분이라 질문드리게 됐습니다. 한번 더 좋은 강의 감사드리며 남은 강의도 열심히 듣겠습니다!
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
Mini-batch GD와 역전파 시 Gradient 계산 횟수관계에 대한 질문입니다.
안녕하세요 선생님! 이제 선생님 강의만 듣게 되네요 ㅎㅎ 이번에도 좋은 기초 강의 감사인사 드립니다!(최근에 Object Detection 강의 업데이트한 부분도 너무나 감사드려요! 강의를 이렇게 유지보수 해주시는 분은 처음 뵌 것 같네요 :) ) 본론으로 들어가 질문 한 가지만 드릴게요! 강의 초반부에 (Batch) GD, SGD, Mini-batch GD 개념에 대해 소개하시면서 세 개의 구분하는 큰 특징이 Gradient를 한 번 계산할 때의 데이터 개수라고 알고 있습니다!(예를 들어, Gradient를 1번 계산할 때 데이터 1개를 이용하면 SGD, 모든 데이터를 이용하면 (Batch) GD 인 것 처럼요!) 그렇다면 역전파를 수행할 때 Gradient를 계산하게 되는데, SGD 같은 경우는 데이터 1개 니까 1개를 학습시키고 1번의 역전파를 수행하는 것은 직관적으로 이해가 갑니다! 그런데 데이터를 한꺼번에 집어넣은 (Batch) GD 또는 특정 몇 개만 입력시키는 Mini-batch GD같은 경우는 Gradient가 어떻게 계산되서 업데이트 되는지 잘 체감이 안되더라구요! 예를 한 가지 들어보겠습니다! SGD와 batch_size=32 인 GD를 사용할 때 3가지 케이스를 들어보겠습니다. 1. SGD를 사용한 경우, 데이터 1개의 순전파가 수행되고 역전파가 수행되면 w_old -> w_new 로 업데이트됩니다. 2. batch_size=32인 GD인 경우, 데이터 32개의 순전파 즉, 32번의 순전파가 모두 수행된 후 한 번의 역전파를 수행해서 w_old -> w_new로 한 번만 업데이트 되는 건가요? 아니면 데이터 32개 안에서도 하나씩 차례로 [1번째 데이터 순전파 수행 -> 1번째 역전파 수행 -> w_old 에서 w_new1로 업데이트] 그리고 [2번째 데이터 순전파 수행 -> 2번째 역전파 수행 -> w_new1 에서 w_new2로 업데이트] , ....(32번째까지 반복) ..... [32번째 데이터 순전파 수행 -> 32번째 역전파 수행 -> w_new31 에서 w_new32로 업데이트 후 batch_size=32 GD 수행 종료] 이런식으로 되나요? 결국, batch_size=32라고 해서 32개의 데이터가 동시에(한 번에) 학습되는 것이 아닌 어쨌건 32개 데이터라는 batch_size안에서도 차례차례로 32번의 순차적인 [순전파->역전파] 과정이 수행되는 것인가요? 혹여나 질문이 이해가 잘 안가신다면 답글 남겨주시면 제가 보충 질문설명 드리도록 하겠습니다!
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
경사하강법을 이용하여 선형회귀 구현하기 -01
1) 강의 16:01에서 1차원 array인 rm과 diff를 열벡터로 표현하셨는데 1차원 array는 행벡터가 아닌 열벡터로 생각하면 되나요? 이전에 numpy 강의에서 1차원 array는 행벡터처럼 옆으로 늘여지게 그림이 그려져 있었어서 조금 헤깔립니다. 2) 위 사진에서 그냥 일반적인 dictionary에서는 dict.a 로 value 값에 접근할 수 없는 것 같은데 boston.data로 하면 boston dictionary의 key값인 data에 대응하는 value값에 왜 접근할 수 있나요? 3) keras에서도 사용하는 '전체 학습 데이터의 순차적인 Mini-Batch' 방식은 한 iteration마다 전체 데이터셋을 한번 다 본다는 점에서는 전체 학습 데이터를 기반으로 gradient descent를 계산하는 GD와 동일한 것 같습니다. 차이점이 있다면 Mini-Batch 방식은 학습할 때 mini-batch 를 이용하므로 메모리에 전체 데이터셋을 다 올릴 필요가 없어 메모리에 부담이 적다 정도가 있는 것 같은데 이러한 이유로 mini-batch를 사용하는게 맞나요? 감사합니다.
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
학습률 최적화
뒤에 내용에서는 Learning rate scheduler 방식으로 epochs 마다 성능 평가 지표에 따라 동적으로 학습율을 변경했는데 optimizer에서는 어떻게 적용할수있나요? adam으로하면 자동으로 되는건가요?
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
mini-batch의 이해
만약 데이터 건수가 400건이고 100건의 미니배치로 경사하강법을 실시하여 파라미터값들을 수정하는데 여기서 수정 되어지는 값들은 뽑아진 100건의 데이터만 업데이트 되며 이렇게 1epoch를 돌면 전체의 데이터의 파라미터들이 업데이트 되는것으로 이해하고있는데 맞을까요?아니면 100건의 데이터만 뽑아 전체의 파라미터가 업데이트 되고 또 그다음 배치의 100건으로 전체의 파라미터가 업데이트 되는 걸까요?
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
[Pandas] 명칭기반 loc slicing
안녕하세요 강사님. 강사님의 파이썬 머신러닝 완벽 가이드의 pandas 부분을 공부하고 있습니다. 공부를 하던 중 궁금한 부분이 생겨 질문 드립니다. print('명칭기반 loc slicing\n', data_df.loc['one' : 'two', 'Name']) 문을 실행하면 one chulmin two Eunkyung 이 출력되는데 'one' : 'two'이면 'one' 부분에 해당하는 것만 출력되어야 하는 것 아닌가요? list에서 print(x[1:2])면 x[1] 값만 출력되는 것 처럼요. 항상 좋은 강의 감사드립니다.
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
RandomResizedCrop 질문드립니다 :)
에러와 같이 RandomResizedCrop이 호출되지 않습니다 :( 혹시 버전(?)이 업데이트 되면서 명칭이 바뀐걸까요? 항상 좋은 강의 감사합니다 :)
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
안녕하세요, Ramp Up and Step Down Decay에 대해 여쭤보고싶습니다.
안녕하세요! 정말 좋은 강의 감사합니다. 강의에서 나온 Ramp Up and Step Down Decay이 정말 좋은 아이디어인거같아 현업에 사용해보려고 하는데, CNN이 아닌 object detection에도 사용되나요? 감사합니다 ㅎㅎ
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
올바른 방향으로 공부 후 컴퓨터 비젼 취업..!
항상 친절한 답변해주셔서 감사합니다. 다름이 아니라 저는 비전공자에 이번년 4월부터 처음 컴퓨터쪽 공부를 접한 학생입니다. 처음에는 항상 웹,앱 은 어떻게 만들가 나도 만들수 있을까? 해서 인터넷에서 찾아보고 알아보던중 인공지능의 매력에 빠져서 공부하고 있습니다. 사실 저는 구현 후 눈에 실제로 나타나는게 잼있어 자연어쪽 처리보다는 컴퓨터 비젼쪽으로 진로를 정하고 싶어서 조언을 구하고자 질문을 남깁니다..! 현재까지 선생님 강의는 머신러닝 완벽가이드랑 지금 CNN을 듣는중이며 이번년6월에 운이좋게도 국비로 지원하는 인공지능 교육에 참여하여 6월 후반부터 딥러닝, 머신러닝을 들으며 공부 중입니다.(사실 머신러닝은 선생님 강의로 여기서 배우는 강의를 모두 선행학습하였고 딥러닝 파트는 tensorflow 안의 코드들을 하나하나 np로 구현 중이며, 데이터 분석으로는 빅데이터 강사님께서 통계와 실전 데이터 분석을 주로 알려주십니다.) 제가 목표하는 기업은 카카오 엔터프라이즈에 컴퓨터 비젼 파트입니다. 기업에 들어갈려면 컴퓨터 비젼의 역량이 어느 정도이며, 빡세게하면 얼마정도의 시간이 필요하며, 어떻게 최신기술들을 스스로 공부하는지 궁금해서 남깁니다 기업들을 찾다보니 최신 논문 이해도 적혀있는데 .. 구체적으로 어떤 사이트를 들어가서 어떤 식으로 공부해야 기업에서 원하는 인재가 되는지 알고싶습니다.! 감사합니다
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
딥러닝 컴퓨터 질문
안녕하세요 현재 딥러닝 CNN완벽가이드 fundamental편 수강중이고 추 후 딥러닝 컴퓨터 비전 강의를 듣고 제 전공분야에 응용하는것을 목표로 공부중인 수학, 통계, 컴퓨터관련 전공이 아닌 대학원생입니다. 선생님께서 강의시에 코랩, 캐글, GCP를 대부분 이용하시는데 연구비를 이용하여 컴퓨터를 구입 할 수 있게된 기회가 생겨서 기존 컴퓨터에서 메인보드, CPU, GPU를 구매하려고 합니다 (다른 파트 및 램은 DDR4 8gb 4개 사용중인거 재사용 예정 입니다). 구입하려는 이유는 코랩에서 램용량 오버로 런타임 연결이 끊겨서 GCP에서 가상머신을 만들어야 하는데 GPU할당을 바로 못받아 컴퓨터를 구매 하려고 합니다. 예산은 400만원 정도인데 이 구입 관련된 질문을 드리고 싶습니다. 1. 인텔, AMD cpu 종류는 텐서플로우 또는 파이토치 사용에 영향을 미칠 수 있나요? cpu차이 때문에 혹시 코드가 구동이 안되면 컴퓨터 비전공자인 저는 어려움을 겪을것 같아 질문드립니다. 인텔이 역시 아직은 호환이 뛰어날까요 아니면 아무 차이가 없을까요? 2. 코랩에서 P100으로 연산할때 에폭을 30 줘도 5분 미만으로 학습이 끝나는 정도라면 3070 정도의 그래픽 카드도 그리 오랜 시간이 걸리지 않을까요? 그래픽카드 구매시에도 메모리가 중요 할까요? 예를들면 3060인데도 3070보다 메모리가 큰 그래픽 카드가 있던데 어떤 부분은 잘 고려하는게 중요 할 까요? 3. GCP 같은 경우에는 우분투 에서 쁘띠를 이용하여 활용하시는걸 컴퓨터 비전 강의에서 봤는데 만약 제가 컴퓨터를 구입하면 저는 제 컴퓨터에 윈도우를 깔고 아나콘다를 설치해서 가상환경 안에서 주피터노트북을 이용 할 생각인데 우분투랑 윈도우 차이 때문에 이런 활용 부분에서 문제가 생길 수도 있을까요? 비 전공자로 이런부분에서 문제가 생기면 해결하는게 많이 어렵지 않을까 걱정되어 질문 드립니다. 4. 최종적으로 CPU, GPU, 메인보드를 추천 해 주실 수 있을까요? 그리고 추가적으로 김철민 선생민께서 이런부분 관련해서 조언해주고 싶은 말 있으시면 부탁드립니다. 진심으로 감사합니다.
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
matmul 함수 질문!
def call(self, inputs): return tf.matmul(inputs, self.w) + self.b 여기서 dot이 matmul을 사용하는 이유가 있을까요..?\ matmul 함수가 어떤 건지 잘 모르겠습니다..!
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
relu 적용 두번
x = Conv2D(filters=128, kernel_size=3, padding='same', kernel_regularizer=l2(1e-5))(x) x = Activation('relu')(x) x = Activation('relu')(x) x = MaxPooling2D(pool_size=2)(x) 모델 만드시는데 이렇게 엑티베이션에 렐루적용을 2번이나 하는 이유가 있을까요??
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
numpy slicing
안녕하세요 강사님. 강사님의 파이썬 머신러닝 완벽 가이드의 numpy 코드인데요. 궁금한 점이 생겨 질문 드립니다. 마지막 print문인 print('array2d[:2, 0] \n' , array2d[:2, 0])와 관련해서 질문이 있습니다. 이전의 print문 들의 결과를 보면 slicing을 하더라도 전부 2차원을 유지하고 있는데요. 마지막 print문의 결과는 왜 2차원을 유지하지 않고 1차원인지 납득이 잘 안가요. 행은 0행과 1행, 그리고 열은 0열을 slicing해서 [1 4]가 아닌 [[1] 가 되야한다고 생각이 되는데 왜 그렇게 되지 않는지 그 이유가 궁금합니다. [4]]
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
파이썬 문법
안녕하세요 강사님. 본 강의를 수강하기 위해서 Numpy에 관한 기본적인 내용은 숙지해야 한다고 해서 강사님의 파이썬 머신러닝 완벽 가이드의 numpy 강의를 같이 듣고 있습니다. 강의를 듣던 중 다음과 같은 print문이 있는데 잘 이해가 가지 않아 질문 드립니다. 제가 여태까지 공부한 바로는 print('array1: {0}차원, array2: {1}차원, array3: {2}차원'.format(array1.ndim, array2.ndum, array3.ndim))이 맞는 것으로 알고 있는데 {0}이 아닌 {:0}, {1}이 아닌 {:1}, {2}가 아닌 {:2}, 즉 강사님의 코드에 들어있는 colon은 무엇인가요? 여기저기 찾아보아도 관련 내용을 못 찾겠어서 질문 드립니다. 좋은 강의 감사합니다!
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
딥러닝 컴퓨터비전 완벽 가이드 강의와 차이
안녕하세요. 1. 딥러닝 컴퓨터비전 완벽 가이드를 먼저 듣고 들어야 하나요? 2. 딥러닝 컴퓨터비전 완벽 가이드와 본 강의는 어떤 차이가 있을까요? 딥러닝 컴퓨터비전 강의도 수강할 예정입니다. 답변해주셔서 감사합니다.
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
reul 기울기 소멸
항상 질문에 답변 잘해주셔서 감사합니다 선생님!이번 질문은 Reul가 0이하일때는 기울기값들이 바로 0 으로 수렴하게 되는데 이는 vannishing gradient로 왜 해당 되지않는건가요?