월 22,000원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
image_size 변환에서 질문있습니다.
마지막 파트에서 로직들을 함수화 해서 쓸 때 IMAGE_SIZE = 32 ... def do_cifar10_train_evaluation(image_size=IMAGE_SIZE, model_name='vgg16'): 과 같이 정의 하고 history, evaluation_result = do_cifar10_train_evaluation(image_size=64, model_name='xception')으로 사용하는데 위에 IMAGE_SIZE를 바꿔야 input_size가 바뀌는거 같은데 저만 그러나요...? 아니면 강의때 설명 해 주셨는데 제가 못들은걸까요...? 아래는 vgg16으로 IMAGE_SIZE를 직접 바꿨을 때랑 안바꿨을 때 summary 초반 부분입니다. IMAGE_SIZE = 32... Layer (type) Output Shape Param # ================================================================= input_1 (InputLayer) [(None, 32, 32, 3)] 0 _________________________________________________________________ block1_conv1 (Conv2D) (None, 32, 32, 64) 1792 _________________________________________________________________ block1_conv2 (Conv2D) (None, 32, 32, 64) 36928 _________________________________________________________________IMAGE_SIZE = 64... Layer (type) Output Shape Param # ================================================================= input_1 (InputLayer) [(None, 64, 64, 3)] 0 _________________________________________________________________ block1_conv1 (Conv2D) (None, 64, 64, 64) 1792 _________________________________________________________________ block1_conv2 (Conv2D) (None, 64, 64, 64) 36928
- 해결됨딥러닝 CNN 완벽 가이드 - Fundamental 편
선생님, 질문이 있습니다.
선생님 안녕하세요! 저 그 AI대학원 다니는 학생 기억나시죠ㅎ.ㅎ 결국 지금 연구실 작업을 따라 가다보니 어쩔 수 없이(?) ML/DL 공부를 어찌저찌는 하고는 있습니다. 이에 질문이 몇가지 있어서 글 남깁니다. 1. 현재 연구실 GPU서버를 사용할 수 있게 되어서 visula studio code 상에서 ssh 서버 연동을 통해 GPU 환경에서 모델 학습이 가능하게 되었는데요, 저같은 경우는 그렇다면 kaggle notebook에서 실습을 하지 않아도 상관이 없을까요? 왜냐하면 지금 kaggle notebook setting을 설명하고 있는 부분을 동시에 들으면서 질문을 작성하고 있는데 제가 해오던 것과 혼선이 빚어질까봐 걱정이 되네요. 그래서 이 질문을 드립니다. 2. 그리고 Coursera에서 DL강의를 세미나 발표 때문에 듣고는 있는데 실습이 어렵고 영어로 진행이 되고 여러 기반 문제가 있어서 선생님 강의를 듣게 되었습니다. 그런데 지금 제가 가지고 있는 선생님의 ML 강의는 '회귀'까지만 듣고 있는 상태입니다(ㅋㅋ) 선생님께서 ML에 대한 기본적인 이해를 선수로 필요하다 하셔서 걱정이 되는데이 상황에서 강의를 들어도 큰 문제는 없을지 여쭙고 싶습니다. 3. ML강의에 나와있는 경사 하강법에 대한 내용과 현 강의의 경사 하강법 강의 내용이 차이가 있을지 궁금합니다. 감사합니다.
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
tf.data질문드립니다.
안녕하세요 선생님 수업 도중에 가끔씩 tf.data에 대해 몇번 언급하셨는데 kaggle을 보면 대부분 tf.data를 써서 하는데 그것이 코드 관리에 있어서 더 효율적인건가요?
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
안녕하세요. 같은 이미지에서 CUDA, CPU 각각에서의 피처맵 픽셀 값이 다른데 정확한 이유가 무엇인지 알 수 있나요?
안녕하세요 device = cuda, 혹은 cpu일 때의 피처맵 픽셀값이 다른데, 그 이유를 알 수 있을까요??
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
batch_size 질문
수업을 듣다보면 보통 몇천 몇만개의 이미지 데이터에서는 batch size를 64개정도로 사용하시는데 만약 이미지데이터 수가 200~300개 정도로 매우작다면 batch size를 몇정도로 잡아야 할까요???
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
이미지 사이즈에 대해 질문드립니다.
강의의 예제들과 비슷하게 이미지들의 가로 세로가 다를 경우 보통은 224, 224로 해주는데 이거에 대한 기준이 있나요? 이미지 사이즈는 제가 임의로 바꿔주면 되는걸까요? 마지막으로 이미지 사이즈가 커질 수록 oom에러가 계속 발생해서 배치사이즈를 줄여주고 있는데 이럴 때 이미지 사이즈를 조절해주면 성능에 영향이 있을까요?
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
모델 구현 질문
안녕하세요 강사님! 강의 매우 잘듣고 있는 학생입니다. 제가 텐서플로우에 다른 스타일로 모델을 구현하는 법이 있길래 본 강의에서 초반에 regression하는 부분을 작성해보앗습니다. 이렇게 작성하였는데 예측을 해보면 예측 값 정확도가 매우 떨어집니다. 제가 보기에는 두 모델 코드를 작성한 스타일만 다르고 모두 같다고 생각되는데 왜 예측값이 많이 다른지 모르겠습니다.. 혹시 이부분이 왜 그런지 알 수 있을까요..??
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
cut mix 문의드립니다!
cutmix에 관한 것을 볼려고 했으나 pytorch를 기반으로 해서 논문을 작성한거같습니다! 혹시 선생님께서 따로 보신 tensorflow기반 cutmix참고할만한 사이트가 있을까요?
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
마지막강의까지 강의 듣고 질문드립니다
안녕하세요 딥러닝 CNN완벽 가이드 강의를 끝까지 수강하고 좋은 강의 해주셔서 감사하다는 말과 함께 궁금한점이 생겨 질문드립니다. 마지막 식물 병 구분하는 강의까지 듣고 끝나갈때 선생님께서 말씀하신 "좀 더 정확도를 올리기 위해서 기교를 필요로 하고 이는 앞에것들을 잘 공부하면 어렵지 않게 습득 할 수 있다"고 말씀하셨는데 이 기교라는것들을 예시나 논문을 하나 주시면서 설명을 부탁드립니다. 앞으로 어떻게 공부를 해야하는지 약간 막막합니다 (논문을 찾아봤을 때 보이는 하이퍼 파라미터 튜닝 같은걸 얘기하시는건가요?).
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
손실 함수에 대해서 질문 있습니다.
alpha*||w||^2 만큼 Loss를 더해주면 Loss 값이 기존 보다 더 증가하여 과적합에 우려가 더 커지는게 아닌가 라는 의문이 생깁니다 Loss 출력 결과를 어느정도 무뎌지게 만든다는 것이 어떤 의미이고 왜 무뎌지는지 자세히 알고 싶습니다!!
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
Gradient Descent와 Mini-Batch Gradient Descent의 차이에 대해 질문이 있습니다.
안녕하세요! 이제 막 강의를 시작한 학생입니다. 강의를 아주 상세하게 설명해주셔서 정말 감사합니다!! 덕분에 아주 재미있고 쉽게 잘 듣고 있습니다ㅎㅎ 제가 하고 싶은 질문은 다음과 같습니다. Gradient Descent의 한계가 모든 학습데이터에 대해 GD를 적용하기 때문에 computing작업이 많이 들어가서 컴퓨터가 제대로 동작을 안 할 수도 있다고 하셨는데요(ex. 메모리 부족 등의 문제로) 이에 대한 솔루션이 SGD와 Mini-Batch인데 그 중 Mini-Batch에 대해 약간의 의문이 있습니다. 100개의 학습 데이터가 있다고 가정했을 때 batch_size를 10으로 설정하면 기본적인 Mini-Batch는 첫번째 iteration에서 100개의 학습 데이터 중 임의로 10개를 뽑아 GD를 수행하고 두번째 iteration으로 넘어간다는 것은 이해했습니다. 근데 기본적인 방법으로 사용하게 되면 100개의 학습 데이터 중 학습에 참여하지 못하게되는 데이터가 생기기 때문에 이 방법보다 일반적인 방법을 사용한다고 하셨는데요. 일반적인 방법은 첫번째 iteration의 첫번째 step에서 10개의 데이터를 뽑아서 GD를 계산하고 두번째 step에서 다시 10개의 데이터를 뽑아 GD를 계산하는 식으로 총 10번의 step을 완료하면 첫번째 iteration이 끝나고 두번째 iteration으로 넘어간다는 것은 이해했습니다. 다만, 여기서 의문인게 그렇게 하면 100개의 데이터를 매 iteration마다 모두 계산하게 되는 것인데 이러면 gradient descent처럼 메모리 문제가 생기지 않을까입니다. mini-batch gradient descent는 gradient descent의 한계를 극복하기 위한 솔루션이라고 하였는데 이러면 gradient descent와 똑같아 지는 것은 아닌가하는 생각이 듭니다. 제가 모르는 뭔가가 있는 것인지 아니면 제가 잘못이해하고 있는 것인지 몰라서 질문드립니다!!
- 해결됨딥러닝 CNN 완벽 가이드 - Fundamental 편
Alexnet 구현 코드에서 BN 질문입니다
안녕하세요! 질 좋은 강의에 감사 인사부터 드립니다! 다름이 아니라 해당 강의 7:49초 부터 AlexNet 구현 코드를 설명해주시는데요! 이론적인 부분에서 원래 Alex Net이 LRN(Local Response Normalization)이 적용되지만 구현코드 상 BN을 적용하는 걸로 설명해주셨습니다! 그런데 BN layer 코드를 자세히 보니 AlexNet 구현 과정에서는 '컨볼루션 -> 활성함수 -> BN 적용' 순서로 되어 있더라구요? 물론 이 과정이 잘못되었다는 건 아닌데 보통 '컨볼루션 -> BN 적용 -> 활성함수' 과정으로 진행하는게 대부분 더 모델 최적화에 긍정적인 영향을 미친다고 알고 있어서요! 제가 AlexNet 논문까지는 확인을 안해보았지만 논문 상에서도 LRN(실습 코드에서는 BN)이 활성함수 이후에 적용되는 순서로 되어 있는지 문의드려도 될까요!?
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
주피터 노트북/ 데이터용량문제
일반적으로 딥러닝모델을 돌릴때는 gpu를 사용하기때문에 gpu가 없으면 주피터노트북에서는 딥러닝모델을 돌리기 어렵나요??? 또한 보통의 이미지 데이터분석 상황에서는 이미지가 몇천 몇만장이면 데이터 용량이 매우 큰데 코랩이나 캐글커널에서도 용량이 많이 부족하지 않나요??
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
ReduceLROnPlateau 관련 질문드립니다.
안녕하세요 . 강사님 항상 감사드립니다. model.compile할때 Adam(lr=0.001)로 이미 lr의 계수가 작다고 개인적으로 생각이 드는데, ReduceLROnPlateau의 factor 인자 0.2를 계속 곱하게 되면 lr의 계수가 너무 기하급수적으로 작아져서 Gradient가 극소점을 찾기에 더 방해가 되는 것 같은 생각입니다. ex) lr : 4.0000001899898055e-05. 제가 궁금한 것은 학습을 진행할 때 , lr의 계수가 0.001 * 0.2 를 반복하면서 기존보다 월등하게 작아진 lr 계수를 학습에 사용하는 것이 일반적이거나 효율적인 것인지 여쭤보고 싶습니다. 감사합니다!
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
Image Augmentation에 관련 질문드립니다.
안녕하세요... 아직 Image Augmentation 관련 부분 강좌를 듣지는 못했습니다. 그냥 Image Augmentation 방법에 대해서 가지고 있던 질문을 드립니다. Image Augmentation 방법중에 회전이나, 가로 세로 이동등을 적용할 때, 원본 이미지에는 없던 배경이 없는 부분이 나타날 수 있는데 (제가 보기에는 검은색(픽셀값 0으로 표시되는 경우가 발생).. 이 부분을 그대로 사용해서 학습하는 것인지 궁금합니다. 원본 이미지에서 안보였던 부분이 검은색 으로 나타나서 오히려 학습에 나쁜 영향을 미치는 것이 아닌가 하는 막연한 생각이 있습니다. 학습에 영향이 없는 건가요?
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
model.fit() 메소드 관련 질문 (PyTorch와의 차이점)
안녕하세요. 강사님 항상 강의 잘 보고 있습니다. model.fit() 메소드를 사용하면서 궁금한 점이 있어 질문을 드립니다. PyTorch 프레임워크에서는 학습을 할 때 - optimizer.zero_grad() - loss.backward() - optimizer.step() 이렇게 3개의 과정을 통해서 Gradient를 계산하면서 학습을 하게 되는데, Keras의 model.fit() 메소드에 이 3개의 과정이 포함되어 있는 지 궁금합니다.
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
AlextNet 모델로 CIFAR10 학습 및 성능 테스트 강의 질문
강의 마지막 부분에 flow() 는 넘파이 어레이를 처리할 때 , flow_from_dataframe() 은 시퀀스 데이터를 처리 할때 사용하고 target_size를 원하는대로 바꿀 수 있도록 인자로 들어가있다고 하셨고 앞 강의에서는 flow() 함수를 사용하려면 먼저 타겟 사이즈를 고정하고 그 사이즈에 맞게 데이터가 들어와야 한다고 하셨는데 만약 넘파이 어레이로 된 데이터가 사이즈가 다 다르면 데이터의 사이즈를 어떤 방법으로 변경 할 수 있을까요? 단순하게 넘파이의 resize 같은 함수를 사용하는것은 아닐 것 같은데 이부분에 대해 잘 알고 싶습니다. 각기 다른 사이즈의 넘파이 어레이를 어떻게 처리하여 트레이닝을 시작하는지. 감사합니다.
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
사전훈련된 모델(VGG16)을 이용하여 CIFAR10 에 응용하기
이미지 분류 경현대회의 VGG16 같은 모델은 1000개의 label이 있고 이를 분류하는 모델인데 이를 CIFAR10에 응용한다는 것은 CIFAR10의 10개의 라벨이 이미지 분류 경연대회의 1000개의 label에 포함되기 때문에 가능한 것 인 가요? 예를들어 A라는 좋은 모델은 개, 고양이, 등 10개의 동물을 분류하는 모델이 있고, 제가 식물 2종을 분류하는 모델을 만드는것이 목표일 때 A라는 모델이 좋다고 식물을 분류하는 모델을 만들기위해 동물을 분류하는 A모델을 가져와서 사용하는것은 괜찮을까요? label 숫자와 상관 없이 label이 전혀 달라도 상관 없을까요? 그리고 pretrained model을 활용한다는것은 weights 가져와서 train을 시작하는게 효율적이기 때문에 활용하는 것인가요?
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
1*1 인셉션넷에서의 실습 코드 오타인가요??
def inception_module(x, filters_1x1, filters_3x3_reduce, filters_3x3, filters_5x5_reduce, filters_5x5, filters_pool_proj, name=None): ''' x: 입력 Tensor filters_1x1: 단독 1x1 필터수 filters_3x3_reduce: 3x3 Conv 적용 전 1x1 Conv 필터수 filters_3x3: 3x3 Conv 필터수 filters_5x5_reduce: 5x5 Conv 적용 전 1x1 Conv 필터수 filters_5x5: 5x5 Conv 필터수 filters_pool_prj: MaxPooling 적용 후 1x1 Conv 필터수 ''' # 첫번째 1x1 Conv conv_1x1 = Conv2D(filters_1x1, (1, 1), padding='same', activation='relu')(x) # 3x3 적용 전 1x1 conv -> 3x3 Conv conv_3x3 = Conv2D(filters_3x3_reduce, (1, 1), padding='same', activation='relu')(x) conv_3x3 = Conv2D(filters_3x3, (3, 3), padding='same', activation='relu')(conv_3x3) # 5x5 적용 전 1x1 Conv -> 3x3 Conv conv_5x5 = Conv2D(filters_5x5_reduce, (1, 1), padding='same', activation='relu')(x) conv_5x5 = Conv2D(filters_5x5, (5, 5), padding='same', activation='relu')(conv_5x5) pool_proj = MaxPooling2D((3, 3), strides=(1, 1), padding='same')(x) pool_proj = Conv2D(filters_pool_proj, (1, 1), padding='same', activation='relu')(pool_proj) # 단독 1x1 결과, 3x3 결과, 5x5 결과, pool이후 1x1 결과 feature map을 채널 기준으로 Concat 적용. output = Concatenate(axis=-1, name=name)([conv_1x1, conv_3x3, conv_5x5, pool_proj]) return output 빨간색 (x)부분들에 진행하지않은 X 가 아닌 1*1진행한 conv_1*1 들어가야 맞는거 아닌가요`?
- 미해결딥러닝 CNN 완벽 가이드 - Fundamental 편
validation loss, validation accuracy와 test loss, test accuracy를 구하는 방법
안녕하세요 강사님. 1) 이전 강의에서 loss를 계산할 때는 batch 단위가 아닌 전체 데이터셋을 대상으로 해야한다라는 말씀을 하신 것으로 기억합니다. 그렇다면 validation loss, validation accuracy와 test loss, test accuracy를 구할 때 다음 코드에서는 batch 단위로 데이터를 처리하는데 단순히 batch 단위로 처리만 할 뿐 전체 validation dataset 또는 test dataset으로 loss와 accuracy를 계산하는 것인가요? 다시 말해서 10개의 data를 대상으로 loss를 구해야한다고 가정하면 저는 batch 단위가 아닌 10개의 데이터를 한꺼번에 받아서 loss와 accuracy를 구해야 한다고 생각했는데 2개의 데이터의 loss 합 먼저 구하고 또 2개의 데이터 loss 합 이런식으로 나눠서 계산된 loss합을 최종적으로 다 합쳐서 평균을 내주는 것인가요? 2) 파이썬 문법 적인 것인데요 제가 여태까지 학습했던 내용과 좀 달라 질문드립니다. filepath에서 파일명을 문자열 포매팅하는 방법이 아래 방법과 가장 비슷한 것으로 생각되는데 {...} 앞에 f'{...}' 이런식으로 f를 붙여야 하지 않나요? 이 방법이 아닌 다른 문자열 포매팅 방법인가요? 항상 좋은 강의 감사합니다.