묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)
수업자료 관련 질문입니다
안녕하세요 맛비님제가 이쪽 (NPU) 관련 자료들을구글에서 참고해 독학을 하였습니다.맛비님 강의를 들어보니, 제가 그동안 찾았던 자료 중 틀린 부분이 몇 가지 보였습니다.그리고 놀라웠던 점이, 교육 자료 중 이미지, 개념 정리가 너무 완벽하게 되신 것이 놀랍습니다. (흐름...)아직 대학교 4학년 (많이 늦었지만..) 저도 나중에 어떤 것을 찾고 이해한 내용을 바탕으로 발표를 해야할텐데, 맛비님 강의의 교육자료의 출처가 어디인지 궁금합니다. (추천하시는 책 or 사이트가 있는지도 궁금합니다.) 그리고, 영어로 된 사이트가 더 신뢰하기 편한가요?저는 영어로 된 사이트보다 한국말로 된 사이트가 좋아서 참고했었는데, 생각보다 한국말로 된 블로그에서 틀린 점이 많았습니다.
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
Tensorflow c++과 subclassing에 관해 질문드립니다.
선생님 안녕하세요! 새해 복 많이 받으세요!!올려주신 강의 정말 감사드립니다. 저는 선생님 강의를 파이썬 머신러닝 부터 컴퓨터 비전, CNN을 통해 혼자 딥러닝을 공부하고 있는 전자공학 전공 학생입니다.앞으로의 진로와 공부 방향에 관해 몇가지 질문을 드리고 싶습니다.현재 선배들 중 제조업(반도체,자동차, 배터리)에 종사하는 선배 중 딥러닝쪽 업무를 하는 선배들로 부터 요즘은 모델링을 파이썬으로 하지만 C++을 이용해서 많이 진행한다고 하고, Tensorflow를 더 잘 사용하기 위해서는 subclassing을 통한 모델을 만들 수 있어야 한다고 들었습니다. (https://www.tensorflow.org/guide/keras/custom_layers_and_models)하지만 인터넷으로 검색을 해봐도 Tensorflow와 C++을 연동해서 사용하는 경우에 대한 정보를 얻기 힘들고 subclassing 또한 정보를 얻기 어려웠습니다. 혹시 관련하여 알고계신 정보가 있다면 공부방법과 강의계획이 있으신지 여쭤봐도 될까요?
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
tensorflow api 질문
안녕하세요 교수님. 최근에 텐써플로우로 작업을 해야할 필요가 있어서 텐서플로우 도커를 사용하여 작업을 진행하고 있습니다. 작업을 함에 있어서 최근에 api가 이상하게 바뀐거같아서 여쭈어봅니다. 코렙에서 또한 해당 에러가 있는거 같아서 혹시 해결을 하셨는지 궁금해서 여쭈어봅니다. 현재 쓰고 있는 버전은 2.11.0입니다 <바뀐 api><기존 api>작동은 하지만 하위 함수들을 자동적으로 호출을 못해오는 현상
-
미해결설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)
안녕하세요, 챕터6,7에 대한 질문입니다.
안녕하세요, 좋은 강의 감사합니다. 1. MAC을 늘렸을 때 더 빠르게 연산이 된다고 하시면서 M(CO)에 동그라미 치셨는데 MAC과 M의 관계에 대해 직관적으로 연관짓기가 어려워서 어떤 관계인지에 대해 질문드립니다. 그리고 MAC은 연산량이라고 이해했는데, 연산량이 늘면 성능이 더 안좋아지는 것이 아닌가요?! 질문드립니다!weight 개수를 CO+edge개수 라고 생각하면 될까요?HW 설계에서 나눗셈이 resource가 왜 많이 드는지 궁금합니다. 단순하게 생각해보면 소수점 처리 때문일까 싶은데, 어떤 컨셉인지 궁금해서 질문드립니다.알렉스넷처럼 batch가 2 이상인 모델은 병렬 연산을 요함으로 batch 1인 모델보다 많은 자원을 사용한다는 것이고, 이는 성능과 비용의 trade off 라고 이해하면 될까요?
-
미해결설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)
챕터5 CNN basic 질문입니다
안녕하세요 좋은 강의 감사합니다.1. 강의내용 중 stride를 설명하실 때 output 피쳐맵의 크기가 X/stride, Y/stride로 일반화가 가능하기 때문에 stride가 1이면 input output featuremap 크기가 동일하다고 설명 해주셨는데, 만약 stride가 1일 때, padding이 없다면 X-2, Y-2만큼의 output feature map이 생기지 않나요? padding이 없다면 컨볼루션 할 때 미정의 값으로 연산을 해야할 것 같아서요..! 2.아래의 그림에서 output 채널의 크기는 예시에서 임의로 주어진 것인지 궁금합니다! output 채널의 크기인 24개 만큼의 depth가 weight에 있다고 가정한 예시일까요?
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
실습 동영상 관련 질문
#Xception 모델 학습, 성능평가 및 예측 후 결과 분석하기 안녕하세요 선생님선생님의 코딩을 토대로 실습연습을 하고 있는데 질문이 있습니다 1.검증 데이터 성적이 너무 높으면 이 부분은 과적합이라고도 볼 수 있을까요(test-score가 아니라도)? 아니면 데이터의 양이 그냥 너무 적어서 발생하는 것일까요? (early stop으로 16에서 멈추고 val score = 0.97이 나옵니다)*데이터 크기: (5856, 2) 2.해당 자료가 0또는 1인데 (정상폐, 폐렴폐 ct)인데 loss =binary_crossentropy를 쓰면 될까요? (만약 categorical_crossentropy를 쓰면 문제가 발생하나요?) 3.만약에 데이터가 불균형하면 머신러닝에서 배웠던 것 처럼 -양성 데이터를 판별하는게 중요하다고 하면 metrics=['accuracy'] 이부분을 precision으로 할 수 있을까요? (반대로 음성이면 재현율)*model.compile(optimizer=Adam(lr=initial_lr), loss='binary_crossentropy', metrics=['accuracy'])4.선생님이 여기 실습에서 해당 데이터를 local? 영역에 넣으시고 분석하셔서 불러오는데 시간을 많이 줄인 것을 보았는데 바탕화면에 있는 데이터도 선생님이 하신 것 처럼 불러올 수 있을까요? 아니면 구글코랩처럼 따로 경로가 있을까요? (데이터를 불러오는데 1초이상이 걸립니다..) 감사합니다
-
해결됨딥러닝 CNN 완벽 가이드 - TFKeras 버전
최근 등장한 CNN 아키텍처
강의 중에 나오는 최근 모델은 2017년 SENet 즈음이 마지막으로 나오는데구글링을 해봐도 SENet이 등장한 2017년이 최근 모델로 나오더라구요그나마 2019년 ResNeXt50 정도가 있는 거 같은데최근 3년 2020~2022년 사이에 개발된 CNN 모델이 있을까요?이러한 최신 CNN 경향은 어디서 확인하나요?
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
클래스 질문
안녕하세요. 강사님. 제가 이번 실습을 기반으로 병해충 진단 모델을 구축중입니다. 이에 대해 질문사항이 있어 질문드립니다.efficientNet모델로 딥러닝 모델을 만들고 있습니다. 총 16개의 병해충에 걸린 식물을 구분하는 모델입니다. output layer에서 최종적으로 예측하고 나온 16개의 확률값중에 가장 큰 확률값의 index가 4라고 할때 이게 어떤 식물인지 어떻게 아는건가요?..
-
해결됨설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)
Bit Width 설정 관련해서 질문합니다.!
Unisigned Value의 곱셈에 대한 Bit Extension을 통해 16 Bit , 이 값을 32번 누적하게 되면 Overflow를 방지하기 위해 47비트가 필요한 것이 아닌가요? 24비트로 설정된 이유를 여쭤보고 싶습니다!
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
미니배치 관련 질문
안녕하세요 선생님! BGD도 1:507 까지 모든 데이터를 순회하고 mini BGD도 사이즈를 나눠서 하지만 모든 데이터로 업데이트를 한다고 생각하는데 , 둘의 차이점이 무엇인가요?
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
1 x 1 convolution을 적용하면 왜 비선형성이 좋아지는지 궁금합니다.
선생님. 처음부터 쭉 듣다보니, 어느새 절반 이상을 듣게 되었습니다! 좋은 강의 감사드립니다. 1 x 1 convolution을 적용하면 왜 비선형성이 좋아지는지 궁금합니다. convolution은 시행할수록 비선형성이 항상 좋아지는것인가요??
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
선생님. 강의를 듣다보니, batch 크기와 관련하여 질문이 있습니다.
선생님. 강의를 듣다보니, batch 크기와 관련하여 질문이 있습니다. 강의 말미에 GPU는 batch크기가 클수록 학습이 빨라져서 속도가 빠르다고 하셨습니다. 그렇다면, H/W의 성능이 좋다는 가정하에, batch 크기를 증가시키면 같은 결과지만 속도가 빨라지는 차이만 있는것인가요? 아니면, 학습을 시키는 적정한 batch 사이즈가 있는것인가요?
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
선생님 안녕하세요 질문 좀 드려도 될까요?ㅠㅠ
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 강의 내용을 질문할 경우 몇분 몇초의 내용에 대한 것인지 반드시 기재 부탁드립니다. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 선생님 안녕하세요. 선생님 수업 머신러닝 완벽 가이드와 CNN fundamental편을 듣고 연구에 cnn모델을 적용하여 해보고 있는 대학원생입니다. 혹시 질문 좀 드려도 될까요?ㅠ 질문1. fold별로 loss를 찍어봤는데 다음과 같이 로스함수가 나옵니다. 1번 폴드에서 왜 이렇게 나오는 걸까요? randomness고정도 하였습니다. 이 링크는 상세 코드입니다 https://github.com/jeguring/2022_neoantigen-prediction/blob/master/code/Untitled_1.py batch_size 256 data "HLA-A_10_random" dataset_mode "random" erls_patience 30 fold_num 5 learning_rate 0.01 model "efficientnet-HLA-A-10-short"efficientnetb0모델에서 res값만 제 데이터에 맞게 바꿨습니다.(width=1.0, depth=1.0, res=[276,10], dropout=0.2) n_epoch 800 scheduler_gamma(scheduler : stepLRoptimizer : Adam) 0.1 scheduler_step_size 10 질문2. 제 데이터의 경우 matrix가 276x10입니다. 그런데, efficientnet의 원래 coefficient는 다음과 같습니다. # Coefficients: width,depth,res,dropout 'efficientnet-b0': (1.0, 1.0, 224, 0.2), 'efficientnet-b1': (1.0, 1.1, 240, 0.2), 'efficientnet-b2': (1.1, 1.2, 260, 0.3), 'efficientnet-b3': (1.2, 1.4, 300, 0.3), 'efficientnet-b4': (1.4, 1.8, 380, 0.4), 'efficientnet-b5': (1.6, 2.2, 456, 0.4), 'efficientnet-b6': (1.8, 2.6, 528, 0.5), 'efficientnet-b7': (2.0, 3.1, 600, 0.5), 'efficientnet-b8': (2.2, 3.6, 672, 0.5), 'efficientnet-l2': (4.3, 5.3, 800, 0.5), 제 데이터의 경우 276x10인데 기본 모델의 res값과 일치하는 게 없는데 이런 경우는 어떻게 해야 하나요? 일단 사용 중인 coefficient값은 efficientnetb0모델에서 res값만 제 데이터에 맞게 바꿨습니다.(width=1.0, depth=1.0, res=[276,10], dropout=0.2)
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
원핫인코딩 질문
Dense Layer로 Fashion MNIST 예측 모델 구현하기 - 모델 설계 및 학습 수행 강의를 보다가 궁금중이 생겨 질문합니다. 1차원이던 label을 원핫인코딩을 해서 2차원으로 만들어졌는데 이유를 모르겠습니다.
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
backpropagation gradient descent
안녕하세요. backpropagation과 gradient descent에 차이를 설명한다고 하면, gradient descent는 오류 값이 최소가 되는 weights를 방식이고, backpropagation은 gradient descent를 사용해서 weights를 업데이트 시키는 방식 중 하나인가요? gradient descet에 부분 집합이 backpropagation일까요?? 감사합니다.
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
대용량 시계열 엑셀 데이터의 딥러닝에 관하여
안녕하세요 대용량 시계열 엑셀 데이터를 딥러닝으로 결과를 내는것에 대해 질문 드립니다. 현재 10~100기가 정도 까지의 대용량 엑셀 데이터를 딥러닝으로 학습시켜보려고 합니다. 그런데 현재 시도해보려는 방식이 과연 적절한지 의문이 들어서 문의 드립니다. 100기기가 정도되는 시계열 엑셀 데이터를 딥러닝 CNN 완벽 가이드에서 공부하는 방식으로 학습하는게 적절한지요?? 머신러닝 같은 경우 저같은 경우 pandas dataframe을 통해 학습하는 것을 경험해 본 바 있습니다만 강사님의 경우 spark 라는 대용량 데이터에 적합한 머신러닝 tool을 활용하여 학습하는 강의가 있는 것으로 알고 있습니다. 제 의문사항은 딥러닝에서도 spark와 같이 대용량 데이터를 잘 처리할 수 있는 tool을 따로 사용해야되지 않을까 싶어서 문의 드립니다.
-
미해결차량 번호판 인식 프로젝트와 TensorFlow로 배우는 딥러닝 영상인식 올인원
학습 과정중에 궁금한게 있어서 질문합니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. EAST 모델의 코드를 보니 트레이닝 과정중에 accuracy, validation loss 는 따로 계산을 하지 않던데 그러면 과적합이 일어나는지는 어떻게 확인해야 하는지 궁급합니다. icdar2015 트레이닝 데이터셋에 10만번 학습이 이미 검증된 방법이라 따로 확인을 하지않아도 되는건가요? 또, 자동차 표지판이 아닌, 다른 커스텀 데이터셋으로 파인튜닝을 하거나, 새로 학습을 진행 할 때 validation loss없이 학습을 진행해도 문제가 없을지 궁금합니다.
-
미해결차량 번호판 인식 프로젝트와 TensorFlow로 배우는 딥러닝 영상인식 올인원
후반부 강의자료 요청드립니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강의 잘 듣고 있습니다. 후반부 강의 자료 부탁드리겠습니다. 감사합니다 saj8k2@gamil.com
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
Internal Covariate Shift 관련 질문 드립니다.
선생님 안녕하세요, 공부를 하던 중 Internal Covariate Shift가 정확히 왜 개선 되어야 하는 문제인지 잘 모르겠어서 이렇게 질문을 남깁니다. 우선 제가 이해한 바로는 Covariate Shift란, 실제 데이터가 True function이라는 분포를 따른다고 할 때 아래와 같은 경우에서 발생한다고 이해했습니다. 우리가 train data를 샘플링 할 때 true function의 큰 틀은 따르지만 조금 다른 분포에서 샘플링을 하고 이를 사용해서 모델을 훈련시킬 경우, 학습 모델은 True function과 전적으로 겹칠 수 없게 됩니다. 따라서 test data를 train data가 커버하고 있지 않는 true function 영역에서 추출하게 된다면 학습시킨 모델은 잘 맞지 않게 될 것이고, 이는 학습용 데이터와 테스트 데이터의 분포가 서로 달랐기 때문에 발생한 문제라고 이해했습니다. Internal Covariate Shift란, 위와 같은 문제가 어떤 레이어의 출력이 다음 레이어의 입력으로 들어갈 때 일어나는걸로 이해했습니다. 딥러닝 특성상 한 레이어당 많은 파라미터가 존재하고 비선형적인 활성화 함수를 사용하기 때문에 A 레이어에 입력이 Z-mean scaling된 데이터가 들어온다고 해도, weighted sum과 활성화 함수를 거쳐서 B 레이어의 입력으로 들어가는 값들은 A 레이어의 정규화된 입력 분포와는 다른 분포를 가지고 있게 될 것입니다. 제가 생각하는 Internal Covariate Shift의 단점은 훈련 속도가 느려진다는 부분입니다. B 레이어의 입장에서는 A 레이어의 가중치 값이 바뀔 때마다 들어오는 입력의 분포가 달라지기 때문에 지속적으로 적응(마땅한 표현이 떠오르지 않네요 ㅠ) 해나가야 해서 결국 최적해를 찾기까지는 오랜 시간이 걸릴 것 같습니다. 이러한 문제는 네트워크가 깊어질수록 입력층에 가까운 레이어와 출력층의 가까운 레이어가 받아보는 분포의 차이는 더 크게 될 것이고, 때문에 입력층에 가까운 레이어의 가중치에서 미세한 조정이 발생해도 출력층에 가까운 레이어의 가중치에서는 상당한 임팩트의 영향력을 끼칠 수 있다고 생각이 되어 네트워크가 안정적으로 수렴하기에 어렵다고 생각됩니다. Training 과정에서는 위와 같은 부분이 문제라고 생각되는데 혹시 제가 잘못 이해한 부분이 있다면 지적 부탁드리겠습니다 선생님. 그리고 문서들을 쭉 찾아보니까 test시에도 training 과정에서 사용했던 분포와 test 할 때 사용하는 이미지 데이터의 분포가 다르기 때문에 성능 차이가 발생한다고 하는데 이 부분이 잘 이해가 안갑니다. 어차피 테스트 할 경우에는 training 할 경우와 세부적으론 다르지만 큰 틀에서는 비슷한 분포의 데이터를 사용하는데, 이러한 gap을 줄여주기 위해 training을 돌리는게 아닌가요? 항상 감사드립니다 선생님. 이와 겹치는 부분이 있지만 결국에는 다른
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
활성화 함수에 대한 전반적인 질문 드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 권철민 선생님 안녕하세요, 딥러닝 cnn 완벽 기초 강의를 모두 수강 하고 복습을 하던 중에, 활성화 함수의 전반적인 개념, 특히 ReLu 함수에 대해 질문이 있습니다. 우선 활성화 함수가 필요한 이유는 모델의 복잡도를 올리기 위해서라고 이해했습니다. 단순 퍼셉트론에서 XOR 문제를 해결할 수 없었던 문제를 해결하기 위해 MLP가 등장했고, 여기에서 step function이 활성화 함수로 사용되어 이전 층의 결과값을 함수에 집어 넣어 다음 층으로 전달하는 역할을 맡게 되었습니다. 하지만 MLP를 넘어 더 많은 히든 레이어를 쌓아 올리는 DNN의 경우, 선형 함수의 특성상 이를 여러번 겹쳐서 쌓아 올려도 결국에는 하나의 선형 함수로 표현할 수 있기 때문에 복잡도를 올리기 위해 레이어를 더 쌓는 의미가 없다고 이해했습니다.(물론 이렇게 쌓을 경우 레이어마다 가중치가 생기기 때문에 아예 의미가 없다고는 할 수 없겠으나, 모델 자체의 복잡도를 올리기 위한 목적에는 부합하지 않는다고 생각하고 있습니다). 단순한 퍼셉트론을 넘어 다층 퍼셉트론에서는 기존의 단층 퍼셉트론만을 활용했을 때는 풀 수 없었던 복잡도의 문제 해결이 가능해졌지만, 동일한 방법으로는 아무리 레이어를 쌓아도 더욱 복잡한 문제는 풀 수 없었습니다. 때문에, 더욱 복잡한 문제를 풀기 위해서 모델의 복잡도를 올리기 위해서는 선형 활성화 함수를 여러개 사용하여 쌓아도 결국 하나의 레이어를 사용하여 나타낼 수 있는 상황을 막아야 하기 때문에 이와 반대로 비선형 활성화 함수를 사용한다고 이해하고 있습니다. 비선형 활성화 함수들의 예시로 시그모이드, 하이퍼볼릭 탄젠트와 같이 shape 자체가 비선형인 함수들이 각광받았는데, 작은 미분값으로 인해 깊은 네트워크로 갈수록 역전파 과정에서 발생하는 Gradient Vanishing 문제, 그리고 양극단으로 값이 모일수록 명확성이 떨어진다는 단점때문에 히든 레이어의 활성화 함수로는 더는 차용되지 않는다고 이해하고 있습니다. 이러한 기울기 소실 문제를 해결하기 위해 대부분의 은닉층에서는 활성화 함수로 ReLu함수를 사용한다고 이해하고 있는데요, 렐루 함수일 경우 ReLu(-1) + ReLu(1) != ReLu(-1 + 1)이기 때문에 비선형 함수이지만, (음의 무한대, 0] 그리고 [0, 양의 무한대) 구간에서는 선형이라고 알고 있습니다. 이를 고려한다면 ReLu 함수는 비록 전체 구간에서는 비선형 함수이지만, 대부분의 구간에서는 선형 함수인데 이러한 부분을 고려할 때 어떻게 ReLu 함수를 사용할 때 저희가 시그모이드와 같은 함수에서 기대하는 것과 같은 비선형적인 특성으로 모델의 복잡도를 올려줄 수 있는것인지 직관적으로 잘 와닿지가 않습니다. 또한, CNN 연산 적용 후 ReLu 함수를 적용하는 부분이 궁금합니다. 이미지의 특정 영역에 filter값을 곱해서 특정을 추출하는 feature extracting 과정에서 합성곱 연산의 값이 크게 나올수록 이미지의 해당 영역이 해당 필터가 추출하고자 하는 값(가로, 세로, 커브 모양 등등)을 강하게 나타내고 있다고 이해하였는데요, 그렇다면 이렇게 추출되서 생성된 새로운 feature map에 ReLu 함수를 적용하는 이유는 모델의 복잡도를 올리기 위해 비선형적인 함수를 추가하는것 뿐만 아니라 예를 들어서 가로 선을 추출하기 위한 필터를 통과했을 경우, 값이 커서 가로에 해당할 확률이 높은 부분은 그대로 유지하되, 음수로 결과가 나와 가로의 특성과는 전혀 맞지 않는 특성을 모두 0으로 만들어서 가로 특징이 없다고 정리하는 역할 또한 존재할까요? 혹시 제가 놓친 ReLu 함수를 CNN의 활성화 함수로 쓰는 이유가 있다면 지적 부탁드립니다. 이미지의 픽셀은 0~255의 값으로 구성된다고 알고 있는데 음수일 경우도 존재할까요? 만약 합성곱 연산의 결과로 음수값이 나왔다면 어떻게 해석하는지 궁금하고 또 이럴 경우 filter의 weight가 음수로 크게 설정되어 있어서 발생하는 경우인지도 궁금합니다. 그리고 CNN 모델의 진행 과정에서, 입력층과 가까운 Conv layer일수록 이미지의 edge, textile같은 low level 특징을 추출하는 것에서 출력층과 가까울수록 더욱 더 추출된 특징들을 일반화 시킨다고 이해했는데 제가 맞게 이해했을까요? 마지막으로 그렇다면 이때 각 filter마다 이미지 안에 가로, 세로, 혹은 다양한 모양들의 곡선적인 특징들이 존재하는지에 대해 추출하는 역할을 담당하게 될것이라고 예상되는데, 이렇게 필터마다 작업이 할당되는 자세한 로직이 알고싶다면 어떤 분야에 대해 더 공부해보아야 할지 추천 부탁드리겠습니다. 현재 머리속에서 너무 많은 부분들이 정리가 안되어서 글이 장황해진점 너무 죄송합니다. 혹시 제가 어떤 의도로 질문을 드린건지 잘 파악이 안되시는 부분이 있다면 풀어서 써보겠습니다. 항상 감사합니다 선생님!