묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
[section 14 / VGGNet ] receptive filed 질문
안녕하세요. 항상 강의 잘 듣고 있습니다. 감사합니다. 다름이 아니라 section14. vggnet 강의를 듣던 중 receptive field에 대해 의문이 생겨 질문하게 되었습니다. 교안 82페이지에 (3,3) conv layer 2개를 쌓으면 receptive field가 (5,5)가 아니라 왜 (7,7)이 되는 것인지 궁금합니다.(1,1) 픽셀이 직전 에 (3,3)에서 왔고, (3,3)은 직전 (5,5)에서 convolution 연산으로 오는 것이 아닌가요?
-
미해결예제로 배우는 딥러닝 자연어 처리 입문 NLP with TensorFlow - RNN부터 BERT까지
transformer 기계번역 강의 오류 질문
class Encoder(tf.keras.layers.Layer): def __init__(self, num_layers, d_model, num_heads, dff, input_vocab_size, maximum_position_encoding, rate=0.1): super(Encoder, self).__init__() self.d_model = d_model self.num_layers = num_layers self.embedding = tf.keras.layers.Embedding(input_vocab_size, d_model) self.pos_encoding = positional_encoding(maximum_position_encoding, self.d_model) self.enc_layers = [EncoderLayer(d_model, num_heads, dff, rate) for _ in range(num_layers)] self.dropout = tf.keras.layers.Dropout(rate) def call(self, x, training, mask): seq_len = tf.shape(x)[1] # adding embedding and position encoding. x = self.embedding(x) # (batch_size, input_seq_len, d_model) x *= tf.math.sqrt(tf.cast(self.d_model, tf.float32)) x += self.pos_encoding[:, :seq_len, :] x = self.dropout(x, training=training) for i in range(self.num_layers): x = self.enc_layers[i](x, training, mask) return x # (batch_size, input_seq_len, d_model)위와 같이 클래스 인코더가 정의 되어있고아래와 같이 테스트를 진행했습니다오류가 발생하여 [training=False, mask=None] 으로 수정하여 진행을 해도 같은 오류가 발생합니다.sample_encoder = Encoder(num_layers=2, d_model=512, num_heads=8, dff=2048, input_vocab_size=8500, maximum_position_encoding=10000) temp_input = tf.random.uniform((64, 62), dtype=tf.int64, minval=0, maxval=200) sample_encoder_output = sample_encoder(temp_input, training=False, mask=None) print(sample_encoder_output.shape) # (batch_size, input_seq_len, d_model) 오류내용ValueError: Exception encountered when calling Encoder.call(). Only input tensors may be passed as positional arguments. The following argument value should be passed as a keyword argument: False (of type <class 'bool'>) Arguments received by Encoder.call(): • x=tf.Tensor(shape=(64, 62), dtype=int64) • training=False • mask=None문제가 무엇일까요 ㅜㅠ
-
해결됨딥러닝 이론 + 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
-
미해결모두의 한국어 텍스트 분석과 자연어처리 with 파이썬
수업자료 다운로드 링크 에러
안녕하세요 강사님,수업자료를 다운로드하려고 하는데 이론 슬라이드 다운로드 링크 연결이 안됩니다.bitly 시스템에서 블락되었다고 뜨는데 확인부탁드려요.
-
해결됨딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
self-attention에서 Wq, Wk, Wv weight matrix 학습과정 질문드립니다.
self-attention에 등장하는 Wq, Wk, Wv weight matrix들에 대한 학습과정 질문입니다. attention score계산 시 query vector에 대해(예를들어 강의에서 설명하신 student vector) key vector들(am, a, student 벡터)의 attention score가 낮게 나온다면, 그게 loss가 되는건가요? 예를들어, Wq, Wk, Wv weight들이 충분히 학습되지 않았을 때를 생각해보면, "I" vector가 Query vector일 때, "student" key vector의 attention score가 가장 높게 나오지 않고 "am" key vector와 attention score가 가장 높게 나올 경우엔 loss가 발생하고 "student" key vector와의 score가 높게 나오도록 Wq, Wk, Wv가 업데이트 된다고 이해하면 될까요?(I와 student는 word embedding에 의해 유사성이 있다고 판단하고)
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
GoogleNet Inception 모듈
안녕하세요 선생님강의 잘 보고 있습니다구글넷의 인셉션 모듈 설명 중에 MAX pooling이 포함되어 있는데요보통 max pooling은 인풋의 사이즈를 줄이는 것으로 알고 있는데 그러면 다른 컨볼루션이 통과된 아웃풋과 사이즈가 달라져서 concat이 안되는 거 아닌가요?아니면 여기에 포함된 컨볼루션들은 max pooling과 같은 stride를 같는 걸까요?
-
미해결모두의 한국어 텍스트 분석과 자연어처리 with 파이썬
모두의 한국어 텍스트 분석과 자연어처리 with 파이썬 -> 섹션 3 부터 재생이 안됩니다.
안녕하세요.모두의 한국어 텍스트 분석과 자연어처리 with 파이썬위 과정을 수강중에 있는데요.. 섹션 3부터 재생이 안됩니다..
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
Batch Normalization 효과
안녕하세요 선생님강의 정말 잘 보고 있고요제 많은 질문들에도 너무 성심성의껏 답변 달아주셔서 감사합니다 ㅎㅎBatchNorm이 설계된 의도는 internal covariate shift를 해결하기 위해 제안되었다는 것은 이해했습니다.하지만 실제로는 그렇지 않고 optimization surface를 매끄럽게 해서 학습이 잘된다라고 설명하신 것까지 들었습니다.제가 이해한 바로는 활성화 함수에 들어가는 입력의 분포를 조정해서 학습이 잘되는 위치? 분포를 학습하는 것으로 이해했는데요(sigmoid로 예시를 든다면 더 이상 업데이트가 되지 않아도 될 정도라면 기울기가 saturate되는 부분으로 혹은 업데이트가 많이 되어야 한다면 0부근으로 이동시키는 등의) 정확히 어떤 원인에 의해 surface가 매끄러워지는 효과를 가지게 되는 것인지 궁금합니다..!
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
Layer Norm이 언어모델에 적합한 이유
안녕하세요 선생님강의 정말 잘 보고 있습니다.Layer Normalization을 보는 중에 입력 데이터를 Normalization하는 것을 통해 scale이나 shift에 robust하게 되는 것까진 이해했습니다.이런 효과가 왜 이미지보다 언어 모델에 더욱 효과적인지 이유를 알 수 있을까요?
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
9-2 fully connected NN
여기서 네트워크를 구성할 때 맨 마지막에 sigmoid를 태운 후에 마지막에 또 Softmax를 태우는데, 이렇게 할 거면 애초부터 네트워크의 마지막단을 sigmoid가 아닌 softmax를 태우면 되는 거 아닌가요?왜 sigmoid를 거친 후에 softmax를 태워야 하는 것인지 알 수 있을까요?
-
해결됨딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
코랩 환경 설정할 때 질문이 있습니다.
코랩 프로 플러스를 사용하고 있는 수강생입니다. 먼저 cloudflare를 다운받습니다. 이후 !pip install colab-ssh --upgrade from colab_ssh import launch_ssh_cloudflared, init_git_cloudflared launch_ssh_cloudflared(password='임의로 설정') # password는 임의로 설정 이걸 코랩 노트북에 작성해놓습니다. 그리고 vscode에서 ssh.config에 다음 사항을 작성해놓습니다.Host *.trycloudflare.com HostName %h User root Port 22 ProxyCommand C:\Program Files (x86)\cloudflared\cloudflared.exe access ssh --hostname %h 그 이후에 ssh로 접속해서 vscode에서 구글 드라이브와 연동하여 사용하고 있습니다.개인적으로 gpu 작업이 필요할 때 사용하는 방법이었는데, 일반적으로 많이 사용하는 방법인지 궁금합니다. gpu 자원을 갖고 있지 않아 코랩 프로 플러스를 구독하여 사용하고 있는데, 매번 작업할 때마다 환경을 조금씩 설정해줘야 하는 불편함이 있어서 코랩을 사용하려면 어쩔 수 없는 방법인지가 궁금합니다.
-
해결됨[LLM 101] LLM 초보를 위한 Llama SFT 강의 (feat. ChatApp Poc)
폐쇄 환경에서 챗봇
안녕하세요! 강사님강의 너무 잘들었습니다. 인터넷이 끊긴 폐쇄 환경에서 강의에서의 데모 버전을 구현하려고 합니다. 허깅페이스에서 모델을 다운받아서 진행하면 될까요?
-
해결됨딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
transformer 훈련 마친 모델 공유 가능할까요?
강사님, 혹시 transformer 훈련 마친 모델 공유 가능할까요?pt-en en-kr 강의중에 언급하신 버젼colab에서 직접 돌려보다가 런타임이 계속 끊겨서 실패하다 요청드립니다ㅠ 덕분에 nlp에 많은 도움을 받고 있습니다. 감사합니다 :)
-
해결됨[LLM 101] LLM 초보를 위한 Llama SFT 강의 (feat. ChatApp Poc)
런타임 유형 변경 및 토크나이저 관련 에러
안녕하세요 코랩 실습 과정 중하드웨어 가속기 선택할 때 V100이 비활성화 되어있을경우 어떤 것을 선택해야 하는지 문의 드립니다.아울러 모델튜닝 실습 중 tokenizer.default_chat_template 부분에서 에러가 뜨는데 다음 단계로 넘어갈 수 있도록 하는 방법이 있을까요? 이후 패스하고 넘어간다고 해도 PEFT - LoRA부분에서도 에러가 뜹니다. 혹시 위 부분에서 pip install flash-attn===1.0.4 부분을 처리하지 않아서 오류가 난 것일까요?
-
미해결모두의 한국어 텍스트 분석과 자연어처리 with 파이썬
0204 쇼핑 리뷰 군집화 - KMeans, Elbow, Silhouette 분석 강의 질문있습니다.
0204 쇼핑 리뷰 군집화 - KMeans, Elbow, Silhouette 분석 강의 질문있습니다.강의에서는 Silhouette 이 부분이 1과 가까워지는 부분에서 좋은 n_cluster라고 하셨는데 그러면Elbow 차트 말고 Silhouette 만 써도 되는건가요?0204 쇼핑 리뷰 군집화 결과 분석 - 실제 제품과 군집 교차표 분석 4분 16초에 k.meanslabel==pardict를 하는 이유가 뭔가요? 라벨링 개수와 학습한 개수를 같은지 확인하는 이유가 궁금합니다.
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
Mini-batch Gradient Descent computation time 질문
안녕하세요 선생님시간과 체력이 더 많았으면 좋겠다는 생각이 들 정도로 강의를 너무 재밌게 보고 있습니다Mini batch Gradient Descent 이론 편에서 Mini batch Size에 비례하지 않는다는 설명을 보았는데요.물론 병렬처리를 하기 때문에 정비례하지 않겠지만 GPU에 올릴 수 있는 최대 데이터양이 100개라고 가정한다면 미니배치를 200, 300, .. 이런 식으로 키운다면 미니 배치크기에 따라 비례하는 것은 맞지 않나요?혹시 제가 잘못 생각하고 있다면 말씀해주세요 감사합니다!
-
해결됨딥러닝 이론 + PyTorch 실무 완전 정복
Huber Loss에 대한 질문
안녕하세요?: 선생님강의 정말 재밌게 잘 보고 있습니다.강의 내용 중에 Huber Loss는 전미분이 한 번밖에 되지 않는다는 단점을 언급해주셨는데요Gradient Descent를 적용할 때는 weight에 대한 편미분만 적용하기 때문에 역전파 시에는 무관한 거 아닐까요?따라서 Epoch를 2 이상의 숫자를 두고 학습하는데 전혀 지장이 없는 거 아닌가요?왜 전미분이 1번만 된다는 게 단점이 된다는 것인지 이해가 잘 되지 않습니다.
-
미해결모두의 한국어 텍스트 분석과 자연어처리 with 파이썬
load_metric 에러 발생
from datasets import load_metricImportError: cannot import name 'load_metric' from 'datasets' (/usr/local/lib/python3.10/dist-packages/datasets/__init__.py) datasets에서 load_metric을 불러오려고 하는데 위와 같은 에러가 발생합니다. 계속 삽질하고 있는데 방법을 찾기가 쉽지가 않네요ㅠ 도움 부탁드립니다.
-
미해결딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
130_Transformer.ipynb transformer.summary() 에러
130_Transformer.ipynb를 수정없이 colab에서 모두 실행하였을 때, transformer.summary() 블럭에서 다음과 같은 에러가 나옵니다. 어떤 부분을 수정하면 좋을지 알 수 있을까요?--------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-51-b0463e4f27a6> in <cell line: 1>() ----> 1 transformer.summary() 1 frames /usr/local/lib/python3.10/dist-packages/keras/src/utils/traceback_utils.py in error_handler(*args, **kwargs) 120 # To get the full stack trace, call: 121 # `keras.config.disable_traceback_filtering()` --> 122 raise e.with_traceback(filtered_tb) from None 123 finally: 124 del filtered_tb /usr/local/lib/python3.10/dist-packages/optree/ops.py in tree_map(func, tree, is_leaf, none_is_leaf, namespace, *rests) 745 leaves, treespec = _C.flatten(tree, is_leaf, none_is_leaf, namespace) 746 flat_args = [leaves] + [treespec.flatten_up_to(r) for r in rests] --> 747 return treespec.unflatten(map(func, *flat_args)) 748 749 TypeError: 'int' object is not iterable
-
미해결딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
강사님 궁금한게 있어 문의 드립니다.
강사님 seq2seq 모델의 경우 학습할 때와 추론할 때 서로 다른 모델을 정의하여 사용하였습니다. 하지만 트랜스포머는 그렇지 않고 추론할 때도 같은 모델을 사용하고 있습니다. 두 개의 모델 모두 교사강요학습을 사용하고 있고 인코더/디코더 구조를 가지고 있는데 왜 두개가 이렇게 차이가 있는 것인지요?