묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결TensorFlow 2.0으로 배우는 딥러닝 입문
GRU 리셋게이트, 포겟게이트 질문
강의 슬라이드 내 리셋게이트와 포겟게이트의 축약어가 혼재돼 사용되고 있습니다.어느 게이트가 r이고 어느 게이트가 z인지 헷갈립니다.
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
maskRCNN dataset class 할당 문제
안녕하세요 선생님외부 데이터를 가지고 교안 코드를 돌려보는 중인데요 데이터를 자꾸 background로 잡아버려서 학습이 불가합니다... 클래스 개수는 하나이고, coco json 파일에 할당도 아주 잘 되었는데 사진과 같이 모듈에서 배경으로 분류를 해 버립니다..ㅠㅠ 이런 경우 어떻게 해결해야 할런지요
-
해결됨실전 인공지능으로 이어지는 딥러닝 개념 잡기
LSTM 모형의 이해
선생님 이해가 잘 안가는 부분이 있습니다 LSTM을 보면 f, i, s~, o 전부 같은 x, h t-1의 데이터를 쓰고 있지만 각각의 다른 가중치를 쓰는 것은 이해를 했습니다그런데 input, forget 게이트에서 얼만큼 잊고, 얼만큼 받아 드린다고 하셨는데 이 부분은 각각 따로 계산이 되는건가요? 1-x가 아니여서 비율의 합이 1이 아닌데 어떤 원리로 이것을 forget gate라고 하는건가요? (아니면 s t-1이 자체가 전의 정보를 담고 있어서 이를 시그모이드로 비례적으로 계산하는건가요...?) 그리고 마지막으로 i,s~ 는 둘다 곱해서 이를 input gate라고 하는건가요? 아니면 i_t만 input gate인가요?(i,s~ 둘다 같은 데이터인데 가중치만 달라서 혼동이 옵니다) *요약하자면 선생님 써주신 공식을 보면 그냥 같은 데이터에 다른 가중치를 계산한건데 어떤 원리로 이게 작동하는지 잘 이해가 가지 않습니다*가능하시면 해당 수식이 해당 모형에서 어떻게 작동하는지 조금 더 알려주시면 감사하겠습니다 :)
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
fasterRCNN 학습 오류
안녕하세요 선생님. 제가 다른 이미지 데이터를 가지고 fasterRCNN을 실습 중인데요, 정말 고생해서 어떻게 데이터 셋은 만들 거 같은데 학습이 돌아가지 않네요- mmdet - INFO - Automatic scaling of learning rate (LR) has been disabled.이런 에러가 뜹니다.뭐가 문젠지 1도 모르겠고, 설정 파일이나 데이터셋 형식이나 너무 복잡하고 어렵네요ㅠㅠhttps://drive.google.com/file/d/1P3nfyaeWCBdGj29KYL_J0u2_ygGeuPdf/view?usp=sharing부디 검토부탁드립니다. 감사합니다.
-
미해결Google 공인! 텐서플로(TensorFlow) 개발자 자격증 취득
슬랙 가입메일이 안왔어요
초대 이메일 부탁드립니다.dreamwaks@gmail.com
-
해결됨DNN, CNN, RNN을 활용한 딥러닝 실무
"딥러닝(DNN)을 이용한 MNIST 손글씨 인식하기 웹 사이트" 확인 요청
딥러닝(DNN)을 이용한 MNIST 손글씨 인식하기 웹 사이트를 접속하면, 다른 사이트가 실행되는 것 같습니다.확인 부탁 드립니다.http://myselph.de/neuralNet.html
-
미해결실전 인공지능으로 이어지는 딥러닝 개념 잡기
RNN 가중치 w,u,l shape 질문
안녕하세요 선생님 RNN에 대한 알고리즘을 공부하다가 가중치의 shape를 보면서 이해가 가지 않아서 질문을 드립니다 a(t)안에 있는 원소들의 shape들이 달라도 weight를 통해서 n*1의 형태로 만드는 것은 이해를 했는데 input과 ,h(t-1)의 행이 다른 이유는 무엇인가요?행이 달라도 되는 이유가I work at Google라고 할때I, work (t시점이 work일때)i, work의 글자 수의 차이 때문에 이렇게 행이 다른건가요? 감사합니다
-
해결됨딥러닝 CNN 완벽 가이드 - TFKeras 버전
CNN 모델 구성시 Filters 구성 수 순서 영향력에 대한 질문
안녕하세요! 강사님 좋은 강의 덕분에 정말 몰두해서 공부하고 있는 수강생입니다.CIFAR10 데이터세트를 이용하여 CNN 모델 구현 실습 - 02 강의에서 모델을 구성하실 때,필터의 개수가 32 -> 64 -> 128 이렇게 점차 증가하였는데, 첫 번째로 이렇게 구성하는게 보편적인 방법인 것인지 궁금하며,두번째는 128 -> 64 -> 32이렇게할 경우에는 효율이 좋지 않은 것인지 또 64 -> 128 -> 32 이런식으로 섞어주면 안되는 것인지 궁금합니다.
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
pytorch fasterRCNN 커스텀데이터로 학습, 평가 질문
안녕하세요 선생님!선생님 강의해주신 내용 바탕으로 개인 프로젝트를 진행하는 와중에 10일동안 구글링을 통해서도 해결을 못한 문제가 있어 여쭤봅니다..!AI허브(https://aihub.or.kr/aihubdata/data/view.do?currMenu=115&topMenu=100)에서 받은 컨테이너고유번호(BIC)를 FasterRCNN으로 detect하는 코드를 작성중인데, 6천개로 학습시키고 학습시켰던 데이터 일부로 evaluation을 하면 검출을 잘 하는데, 새로운 데이터(학습데이터와 유사한 이미지)로 evaluation을 하면 아무것도 검출을 못하는(빈 텐서만 출력) 현상이 일어납니다. 에폭을 1부터 10까지 해보고 loss가 0.01까지 줄어들며 수렴하는것을 확인했는데도 아무것도 검출을 못하네요.ㅇ모델 : pytorch fasterrcnn_resnet50_fpn(pretrained=True)ㅇ학습과정 * 구글코랩 활용1. AI 허브 json파일을 coco 형식으로 변경(시각화를 통해 정상변경 확인)2. customdataset 정의3. 학습환경 설정 및 학습4. 가중치 저장5. evaluation 환경 설정(pretrained=False) 및 evaluation(가중치 로드)6. pycocotools로 평가지표 출력 구글코랩에서 작성한 코드는 링크로 첨부했습니다.https://colab.research.google.com/drive/1dq4wx7M5GFwLSrz8lcCLIL431Othr94Otrain 모드 모델정의하고, eval모드 모델 정의하는 부분에 뭔가 오류가 있는것 같은데 못 찾겠습니다...ㅜㅜ
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
모델 과적합 관련
선생님 안녕하세요.강의 4분30초 부근 만들어진 모델을 test데이터로 성능을 측정했을 때, 정확도가 0.92정도로 꽤 높다고 생각합니다. 하지만 강의에선 flatten으로 인해 파라미터 개수가 급격히 증가하여 과적합이 일어났다고 설명하셨는데, 만약 과적합이 일어났다면 test데이터로 성능을 측정했을 때 더 낮은 정확도가 나와야하는것 아닌가요?train데이터셋으로 모델을 훈련시킬 때 정확도가 99%가 나왔기 때문에 과적합이라고 설명해주신건 이해를 했습니다. 하지만 test데이터셋으로 모델 성능평가를 했을 때 높은 정확도가 나왔음에도 과적합이라고 생각하는건 이해가 되지 않아서 문의 드립니다.
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
실무에서 이미지데이터가 충분히 많을경우에는 augmentation을 사용하지 않아도 되나요?
안녕하세요 선생님!좋은강의 감사합니다 잘듣고 있습니다!!궁금한것이 생겨 질문을 드립니다실제 회사나 연구소에서 이미지 데이터가 많거나 영상데이터로 학습을 하는경우(이미지데이터가 충분히 많다고 가정한경우) 굳이 이미지 augmentation을 하지 않아도 되나요...?
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
darknet 으로 학습?
yolov3 과 darknet 의 차이좀 명괘하게 알려주세요. 학습 시키려면 어떤걸로 사용해야 하는지?
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
학습 데이터셋에서 검증 데이터셋 나눌 때
선생님 안녕하세요. 두가지 질문이 있습니다.검증데이터셋을 구성할 때, 학습데이터 내의 데이터로 검증 데이터셋을 구성하는 이유는 학습데이터셋에 대한 과적합을 확인하기 위해서 인가요?그렇다면 다른 데이터셋으로 진행할 때도 학습데이터셋 내에서 검증 데이터셋을 구성하는 것이 맞는건가요? 학습,검증데이터셋을 나눠줄 때 사이킷런의 train_test_split 을 사용하는 이유는 단순히 데이터셋을 나누기에 적합한 함수이기 때문에 사용하는 것이죠? test data, valid data를 나누는데 함수 이름이 train_test_split이라서 헷갈리네요.
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
선생님, load_boston이 import가 안돼요
안녕하세요 선생님,제가 load_boston을 import했을 때, 다음과 같이 오류가 나왔었습니다.ImportError: `load_boston` has been removed from scikit-learn since version 1.2.따라서 scikit-learn을 0.24.2버젼으로 바꿨는데, 여전히 이 오류가 계속 나옵니다.도저히 방법을 모르겠습니다.도와주세요.감사합니다.
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
오차 역전파(Backpropagation)의 Gradient 적용 메커니즘 - 01 교재내용
강의 교재 내에 히든 뉴런 부분 중 a^2=g(z^2)라고 되어 있는데 제가 다운받은 교재에는 a^2 = g(z)라고 되어 있어서요 교재 내용이 다른거 같은데 어떻게 된걸까요?
-
해결됨(UPDATED) Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
4장 SGD를 사용한 MF 기본 알고리즘 오류
안녕하세요좋은 강의 감사합니다. 4장 SGD를 사용한 MF 기본 알고리즘 오류 에서pivot 테이블을 만드는 과정에서 오류가 생겨 질문드립니다.아래와 같은 오류가 생기는데 어떤 이유인지요? 코드가 잘못된 것 같지는 않습니다.pivot 대신 pivot_table 을 쓰니 또 되네요. pivot_table 은 값이 중복인 경우에 첫 값을 쓴다고 되어있는데 올바른 해결책이 맞나요? R_temp = ratings.pivot(index = 'user_id', columns = 'movie_id', values = 'rating').fillna(0)--------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-10-bcd5f752ec01> in <cell line: 1>() ----> 1 R_temp = ratings.pivot(index = 'user_id', 2 columns = 'movie_id', 3 values = 'rating').fillna(0) 7 frames /usr/local/lib/python3.10/dist-packages/pandas/core/reshape/reshape.py in _make_selectors(self) 187 188 if mask.sum() < len(self.index): --> 189 raise ValueError("Index contains duplicate entries, cannot reshape") 190 191 self.group_index = comp_index ValueError: Index contains duplicate entries, cannot reshape 추가로 질문드립니다. pivot_table을 사용해도 rmse가 계속 nan이 나오네요저는 코드가 잘못된 부분을 찾기가 힘든데 도움 부탁드립니다.prediction = self.b + self.b_u[i] + self.b_d[j] + self.P[i, :].dot(self.Q[j, :].T) 으로 바꾸어도 같은 오류가 납니다.class MF(): def __init__(self, ratings, hyper_params): self.R = np.array(ratings) self.num_users, self.num_items = np.shape(self.R) self.K = hyper_params['K'] # feature의 개수 self.alpha = hyper_params['alpha'] # learning rate self.beta = hyper_params['beta'] # regularization coef self.iterations = hyper_params['iterations'] # SGD 반복 횟수 self.verbose = hyper_params['verbose'] # 출력 여부 def rmse(self): xs, ys = self.R.nonzero() # R에서 0이 아닌 요소의 index self.predictions = [] self.errors = [] for x,y in zip(xs, ys): prediction = self.get_prediction(x,y) # 평점 예측치 함수 self.predictions.append(prediction) self.errors.append(self.R[x,y] - prediction) self.predictions = np.array(self.predictions) self.errors = np.array(self.errors) return np.sqrt(np.mean(self.errors**2)) def train(self): # P, Q 의 값 초기화 self.P = np.random.normal(scale = 1. / self.K, # 표준편차 설정, mean은 설정 안하면 자동으로 0 size = (self.num_users, self.K)) self.Q = np.random.normal(scale = 1. / self.K, size = (self.num_users, self.K)) self.b_u = np.zeros(self.num_users) # 사용자 평가경향 초기화 self.b_d = np.zeros(self.num_items) self.b = np.mean(self.R[self.R.nonzero()]) # 평점의 전체 평균, 0이 아닌 것에 대해서만 평균을 낸다. rows, columns = self.R.nonzero() # 평점이 있는 요소들의 idx만 가져오겠다는 뜻 --> 나중에 SGD를 적용하기 위해서 self.samples = [(i,j, self.R[i,j]) for i,j in zip(rows, columns)] training_process = [] # SGD 실행될때마다 RMSE 기록 for i in range(self.iterations): np.random.shuffle(self.samples) # 다양한 시작점 지정 self.sgd() rmse = self.rmse() training_process.append((i+1, rmse)) if self.verbose: if (i+1) % 10 == 0: print('Iteration : %d ; train RMSE = %.4f'%(i+1, rmse)) return training_process def get_prediction(self, i,j): # i 유저의 j 번째 아이템에 대한 예측치 # 전체 평점 + 유저의 경향성 + 아이템의 경향성 + i번째 유저의 j번째 아이템에 대한 예측 prediction = self.b + self.b_u[i] + self.b_d[j] + self.P[i, :].dot(self.Q[j, ].T) return prediction def sgd(self): for i,j,r in self.samples: # i,j는 인덱스, r은 평점 prediction = self.get_prediction(i,j) e = (r-prediction) # 오차 # 사용자의 평가경향 업데이트, 4장 슬라이드 10페이지 식 self.b_u[i] += self.alpha * (e - (self.beta * self.b_u[i])) self.b_d[j] += self.alpha * (e - (self.beta * self.b_d[j])) self.P[i,:] += self.alpha * ((e * self.Q[j,:]) - (self.beta * self.P[i,:])) self.Q[j,:] += self.alpha * ((e * self.P[i,:]) - (self.beta * self.Q[j,:])) # 원코드는 pivot_table 대신 pivot 사용 R_temp = ratings.pivot_table(index = 'user_id', columns = 'movie_id', values = 'rating').fillna(0) hyper_params = { 'K':30, 'alpha' : 0.001, 'beta' : 0.02, 'iterations' : 100, 'verbose' : True } mf = MF(R_temp, hyper_params) train_process = mf.train() get_prediction 함수에서 아래를 해보니까, 처음에는 조금 숫자가 나오다가 계속 nan이 나오는데 여기에서 문제가 있는것 같습니다. 근데 원인을 모르겠어요; print(self.b) print(self.b_u[i]) print(self.b_d[j]) print(self.P[i, :].dot(self.Q[j, ].T))
-
해결됨[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
이중 객체 검출 질문입니다.
단어를 어떻게 말씀드려야 할지 모르겠어서 이중 객체 검출이라는 용어를 사용했습니다.앞 선 질문에서 "몸 전체에 대한 레이블링과 얼굴 부분에 대한 레이블링, 총 2가지 레이블링" 이라고 하신 부분에 이어 질문이 있습니다.예시를 들어 자동차의 번호판 같은 것을 검출하고 싶을 때 입니다. 바로 번호판을 Annotation 작업을 해서 수행하면 상가 간판, 도로 표지판 등 네모난 물체에 글씨가 적혀있는 부분까지 오인 검출이 됩니다. 따라서 자동차를 먼저 검출하고 자동차 번호판은 자동차에만 있으니 이어서 번호판을 검출하도록 알고리즘을 작성하면 효율성이 올라갈 것 같아서 해보려고 합니다. 이렇게 이중으로 검출을 하고 싶다면 알고리즘을 어떻게 작성할지 큰 틀이 궁금해서 질문 드립니다. 직접Annotation 작업을 한다면 어떻게 해야 하는지, 그리고 올려주신 YOLO V5를 사용한다고 한다면 어떻게 이중으로 검출하라고 알고리즘을 구성할지 궁금합니다. 추가 질문으로는 객체 검출 알고리즘(YOLO 등)의 가중치가 Pre-training 된 것을 사용하는 부분입니다. 제가 이해한 학습이란 객체 검출 알고리즘을 사용하려고 하는 데이터에 대해 훈련을 시키면 가중치가 업데이트 되며 학습이 되는 것 입니다. 근데 Pre-training된 것을 사용하는 것에 어떤 의미가 있는지 궁금합니다.강의 재미있게 수강하고 있습니다. 감사합니다!
-
해결됨(UPDATED) Python을 이용한 개인화 추천시스템 | 추천알고리즘 | 추천인공지능
2장 사용자집단별 추천 코드 질문
안녕하세요좋은 강의 감사합니다.2장 사용자집단별 추천 부분 코드 질문이 있어서 문의드립니다.def score(model): id_pairs = zip(x_test['user_id'], x_test['movie_id']) y_pred = np.array([model(user,movie) for (user, movie) in id_pairs]) y_true = np.array(x_test['rating']) return RMSE(y_true, y_pred)부분에서요id_pairs는 25000개 인데, 코드를 돌리고 y_pred나 y_true를 출력해보면 168개밖에 안나오더라고요. 이게 무슨 이유 때문인지 잘 이해가 가지 않는데 설명이 가능하실까요? 감사합니다!
-
해결됨[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
custom dataset을 만들 때 물체가 겹쳐있는 경우
안녕하세요, 선생님. 늘 좋은 수업 감사합니다. 다름이 아니라, object detection을 위한 custom dataset annotation을 만드는 도중에'겹쳐져있는 물체'에 대한 의문 사항이 생겨 글 남깁니다.가급적 bounding box끼리는 겹치지 않게 하는 것이 좋다고 강의 중 언급하셨는데요,다른 class가 아니라 같은 class의 물체가 겹쳐있을 때에도 둘 이상의 bbox는 겹쳐서는 안되나요?겹침을 피하기 위해 bbox를 그리다보니 첨부 이미지와 같이 물체 전체를 담지 못하고 일부가 잘리게 되는데요, object detection 예시들을 보면 겹쳐있는 물체(ex.이동중인 사람들)들도 각각을 잘 감지하는 것을 확인할 수 있습니다. 겹치지 않도록 annotation한 ground truth를 학습했는데 어떻게 그와 같은 결과가 가능한 걸까요?
-
미해결처음하는 딥러닝과 파이토치(Pytorch) 부트캠프 (쉽게! 기본부터 챗GPT 핵심 트랜스포머까지) [데이터분석/과학 Part3]
8분 33초 df_train.corr()['SalePrice'] 부분 질문입니다.
안녕하세요 항상 좋은 강의 해주셔서 감사합니다.df_train.corr()['SalePrice'] 를 실행했더니,ValueError: could not convert string to float: 'RL'이런 벨류 에러가 뜹니다.따라서 인터넷에 찾아보았더니, 'RL'과 같은 문자열을 실수(float)으로 변환할 수 없다고 하며, 이러한 문자열이 존재하는 열은 데이터 타입이 숫자형이 아닌 문자형(object)일 가능성이 높다고 하는데, 위에서 해당 feature를 봤을 떄는 실수형이던데 왜 이런 오류가 발생하는지 아실까요?