25%
66,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
Transformer 번역기 부분에 대해 질문 있습니다.
아래 사이트는 Encoder / Decoder를 하나의 Class로 만들었는데요..강사님도 해당 예제는 많이 보셨을거 같습니다.https://keras.io/examples/nlp/neural_machine_translation_with_transformer/ 아래와 같이 Encoder / Decoder Class를 선언하고..추가로 shape들을 찍어 보았습니다.(참고로 get_config 함수는 지면상 뺐습니다.)class TransformerEncoder(keras.layers.Layer): def init(self, num_heads, embed_dim, dense_dim, **kwargs): super().__init__(**kwargs) self.num_heads = num_heads self.embed_dim = embed_dim self.dense_dim = dense_dim self.class_name = 'TransformerEncoder' self.attention = keras.layers.MultiHeadAttention(self.num_heads, key_dim=self.embed_dim, value_dim=self.embed_dim) self.dense = keras.models.Sequential([keras.layers.Dense(self.dense_dim, activation='relu'), keras.layers.Dense(self.embed_dim)]) self.layer1 = keras.layers.LayerNormalization() self.layer2 = keras.layers.LayerNormalization() self.support_mask = True def call(self, inputs, mask=None): tf.print('ClassName=TransformerEncoder-------------------------------------------------------') if mask is not None: #print('ClassName={}, mask.shape={}'.format(self.class_name, mask.shape)) padding_mask = mask[:, tf.newaxis, :] tf.print('mask.shape=', padding_mask.shape) else: padding_mask = None tf.print('mask=None') attention_out = self.attention(query=inputs, key=inputs, value=inputs, attention_mask=padding_mask) tf.print('input.shape=', inputs.shape) tf.print('attention_out.shape=', attention_out.shape) layer1_out = self.layer1(inputs+attention_out) #print('ClassName={}, layer1_out.shape={}'.format(self.class_name, layer1_out.shape)) dense_out = self.dense(layer1_out) tf.print('dense_out.shape=', dense_out.shape) return self.layer2(layer1_out+dense_out) class TransformerDecoder(keras.layers.Layer): def init(self, num_heads, embed_dim, latent_dim, **kwargs): super().__init__(**kwargs) self.num_heads = num_heads self.embed_dim = embed_dim self.latent_dim = latent_dim self.class_name = 'Decoder' self.attention_1 = keras.layers.MultiHeadAttention(num_heads=self.num_heads, key_dim=self.embed_dim) self.attention_2 = keras.layers.MultiHeadAttention(num_heads=self.num_heads, key_dim=self.embed_dim) self.layer_1 = keras.layers.LayerNormalization() self.layer_2 = keras.layers.LayerNormalization() self.layer_3 = keras.layers.LayerNormalization() self.dense = keras.models.Sequential([keras.layers.Dense(self.latent_dim, activation='relu'), keras.layers.Dense(self.embed_dim)]) self.supports_masking=True def call(self, inputs, encoder_outputs, mask=None): tf.print('ClassName=TransformerDecoder-------------------------------------------------------') #inputs.shape=(None, 35, 32), encoder_outputs.shape=(None, 35, 32) #tf.print('aaaaaaaaa=', inputs.shape) casual_mask = self.get_casual_attention_mask(inputs) tf.print('inputs.shape=', inputs.shape) tf.print('casual_mask.shape=', casual_mask.shape) if mask is not None: padding_mask = tf.cast(mask[:, None, :], dtype='int32') padding_mask = tf.minimum(padding_mask, casual_mask) tf.print('padding_mask.shape=', padding_mask.shape) else: padding_mask = None tf.print('padding_mask = None') attention_1_out = self.attention_1(query=inputs, key=inputs, value=inputs, attention_mask=casual_mask) tf.print('attention_1_out.shape=', attention_1_out.shape) layer_1_out = self.layer_1(inputs+attention_1_out) attention_2_out = self.attention_2(query=layer_1_out, key=encoder_outputs, value=encoder_outputs, attention_mask=padding_mask) layer_2_out = self.layer_2(layer_1_out + attention_2_out) dense_out = self.dense(layer_2_out) tf.print('dense_out.shape=', dense_out.shape) return self.layer_3(layer_2_out + dense_out) def get_casual_attention_mask(self, inputs): #input_shape=(2, 35, 32) =(BatchSize, Sequence_len, Embed_Len) input_shape = tf.shape(inputs) batch_size, sequence_length = input_shape[0], input_shape[1] #i=(35, 1), j=(35,) #i=[[0], [1], [2], ... [35]], j=[0 1 2 ... 34] i = tf.range(start=0, limit=sequence_length)[:, tf.newaxis] j = tf.range(start=0, limit=sequence_length) # tf.cast 함수는 보통 조건에 따른 True, False 의 판단 기준에 따라 True 면 1, False 면 0을 반환한다. # mask.shape=(1, 35, 35), mask=[[[1 0 0 .. 0], [1 1 0 0 ...0], [1 1 1 1 ...1 0], [1 1 1 1 ... 1 1]]] mask = tf.cast(i>=j, dtype='int32') mask = tf.reshape(mask, (1, input_shape[1], input_shape[1])) # mult = (2, 1, 1), (BatchSize, 1, 1) mult = tf.concat([tf.expand_dims(batch_size, -1), tf.convert_to_tensor([1,1])], axis=0) return tf.tile(mask, mult) MAX_EMBED=32 MAX_VOCAB=5000 MAX_SEQ = 35 MAX_DENSE=1024 MAX_HEAD=1 encoder_inputs = keras.layers.Input(shape=(MAX_SEQ,), dtype='int64', name='encoder_inputs') encoder_embed_outs = PositionalEmbedding(MAX_SEQ, MAX_VOCAB, MAX_EMBED)(encoder_inputs) encoder_transformer_outs = TransformerEncoder(num_heads=1, embed_dim=MAX_EMBED, dense_dim=MAX_DENSE)(encoder_embed_outs) #encoder_transformer_outs == (None, 80, 256) decoder_inputs = keras.layers.Input(shape=(MAX_SEQ,), dtype='int64', name='decoder_inputs') decoder_embed_outs = PositionalEmbedding(MAX_SEQ, MAX_VOCAB, MAX_EMBED)(decoder_inputs) #decoder_embed_outs == (None, 80, 256) decoder_transformer_outs = TransformerDecoder(1, MAX_EMBED, MAX_DENSE)(decoder_embed_outs, encoder_transformer_outs) decoder_dropout_outs = keras.layers.Dropout(0.5)(decoder_transformer_outs) decoder_outputs = keras.layers.Dense(MAX_VOCAB, activation='softmax')(decoder_dropout_outs) model = keras.Model(inputs=[encoder_inputs, decoder_inputs], outputs=decoder_outputs) model.summary() 호출(호출은 Log만 찍어보게 BatchSize를 줄였습니다.)q_train_seqs = q_seqs[:2] a_train_seqs = a_seqs[:2] print(q_train_seqs.shape, a_train_seqs.shape) model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) history = model.fit([q_train_seqs, a_train_seqs[:, :-1]], a_train_seqs[:, 1:], epochs=1) 이렇게 해서 돌리면 결과가 아래와 같이 찍힙니다.ClassName=TransformerEncoder------------------------------------------------------- mask=None input.shape= TensorShape([None, 35, 32]) attention_out.shape= TensorShape([None, 35, 32]) dense_out.shape= TensorShape([None, 35, 32]) ClassName=TransformerDecoder------------------------------------------------------- inputs.shape= TensorShape([None, 35, 32]) casual_mask.shape= TensorShape([None, 35, 35]) padding_mask = None attention_1_out.shape= TensorShape([None, 35, 32]) dense_out.shape= TensorShape([None, 35, 32]) 1/1 [==============================] - 4s 4s/step - loss: 8.2735 - accuracy: 0.0000e+00 질문은 아래와 같습니다.Encoder 파트에서 mask=None 으로 Mask가 들어있지 않습니다. 그럼 굳이 mask는 구현할 필요가 없는건지? Decoder 파트에서는 첫번째 Self-Attention 부분에서만 제대로된 마스킹 값이 들어가고 Encoder의 Key와 매핑 시키는 부분에서는 마찬가지로 padding_mask가 None 입니다. 이 부분에 대해 조금 더 자세한 설명을 해 주시면 감사하겠습니다. 다시 한번 설명 드리면class TransformerEncoder(keras.layers.Layer): ... def call(self, inputs, mask=None): tf.print('ClassName=TransformerEncoder-------------------------------------------------------') if mask is not None: #print('ClassName={}, mask.shape={}'.format(self.class_name, mask.shape)) padding_mask = mask[:, tf.newaxis, :] tf.print('mask.shape=', padding_mask.shape) else: padding_mask = None tf.print('mask=None') #Encoder 에서 padding_mask는 None으로 찍힘 attention_out = self.attention(query=inputs, key=inputs, value=inputs, attention_mask=padding_mask) class TransformerDecoder(keras.layers.Layer): def call(self, inputs, encoder_outputs, mask=None): casual_mask = self.get_casual_attention_mask(inputs) #mask는 None 으로 들어옴 if mask is not None: padding_mask = tf.cast(mask[:, None, :], dtype='int32') padding_mask = tf.minimum(padding_mask, casual_mask) else: padding_mask = None # casual_mask는 현재 위치 이후는 0 으로 패딩 된 것 확인 attention_1_out = self.attention_1(query=inputs, key=inputs, value=inputs, attention_mask=casual_mask) layer_1_out = self.layer_1(inputs+attention_1_out) # 하지만 padding_mask는 None 임 attention_2_out = self.attention_2(query=layer_1_out, key=encoder_outputs, value=encoder_outputs, attention_mask=padding_mask) layer_2_out = self.layer_2(layer_1_out + attention_2_out)
- 해결됨딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
320_Custom_Sentiment_Analysis_navermovie.ipynb 실행 시 오류 납니다.
안녕하세요,아래 예제도 오류가 납니다.320_Custom_Sentiment_Analysis_navermovie.ipynb수정 방법을 알고 싶습니다.pip install transformers[torch]` or pip install accelerate -U 이 부분은 수행했는데도 발생합니다.확인 부탁 드립니다. ImportError Traceback (most recent call last) <ipython-input-50-ed29579c1c8b> in <cell line: 1>() ----> 1 training_args = TrainingArguments( 2 output_dir='./results', # output 저장 directory 3 num_train_epochs=2, # total number of training epochs 4 per_device_train_batch_size=8, # batch size per device during training 5 per_device_eval_batch_size=16, # batch size per device during evaluation 4 frames/usr/local/lib/python3.10/dist-packages/transformers/training_args.py in _setup_devices(self) 1903 if not is_sagemaker_mp_enabled(): 1904 if not is_accelerate_available(): -> 1905 raise ImportError( 1906 f"Using the `Trainer` with `PyTorch` requires `accelerate>={ACCELERATE_MIN_VERSION}`: " 1907 "Please run `pip install transformers[torch]` or `pip install accelerate -U`" ImportError: Using the `Trainer` with `PyTorch` requires `accelerate>=0.21.0`: Please run `pip install transformers[torch]` or `pip install accelerate -U`
- 해결됨딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
201_classify_text_with_bert_tfhub_Kor.ipynb 오류
안녕하세요?201_classify_text_with_bert_tfhub_Kor.ipynb 소스 수행 시 아래와 같은 오류가 납니다.구글 colab gpu에서 돌리고 있습니다. (오류 이미지도 같이 첨부합니다.)왜 오류가 나는지 답변 부탁 드립니다. ValueError Traceback (most recent call last) <ipython-input-17-3b4b1d94b15e> in <cell line: 1>() ----> 1 classifier_model = build_classifier_model() 2 bert_raw_result = classifier_model(tf.constant(text_test)) 3 4 print(bert_raw_result) 5 print(tf.sigmoid(bert_raw_result)) 7 frames/usr/local/lib/python3.10/dist-packages/keras/src/backend/common/keras_tensor.py in __array__(self) 59 60 def __array__(self): ---> 61 raise ValueError( 62 "A KerasTensor is symbolic: it's a placeholder for a shape " 63 "an a dtype. It doesn't have any actual numerical value. " ValueError: Exception encountered when calling layer 'preprocessing' (type KerasLayer). A KerasTensor is symbolic: it's a placeholder for a shape an a dtype. It doesn't have any actual numerical value. You cannot convert it to a NumPy array. Call arguments received by layer 'preprocessing' (type KerasLayer): • inputs=<KerasTensor shape=(None,), dtype=string, sparse=None, name=text> • training=None
- 미해결딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
트랜스포머 실습 파일 실행 시 에러가 발생합니다.
130_Transformer.ipynb를 코랩 환경에서 실행하는데 25번째 코드 셸을 실행하면 에러가 발생합니다.위의 모든 코드 셸을 실행한 뒤에 다음 코드를 실행하면 ValueError: Exception encountered when calling PositionalEmbedding.call().Invalid dtype: <property object at 0x7d6f6aff73d0> Arguments received by PositionalEmbedding.call(): • x=tf.Tensor(shape=(64, 110), dtype=int64) 이런 에러가 발생합니다. 어디가 문제이며 어떻게 해결을 해야 할까요? # 포르투갈어와 영어를 위한 위치 인코딩 임베딩 레이어 생성 embed_pt = PositionalEmbedding(vocab_size=tokenizers.pt.get_vocab_size(), d_model=512) embed_en = PositionalEmbedding(vocab_size=tokenizers.en.get_vocab_size(), d_model=512) # 포르투갈어 입력에 대한 임베딩 적용 pt_emb = embed_pt(pt) # 영어 입력에 대한 임베딩 적용 en_emb = embed_en(en)
- 미해결딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
인공지능을 활용한 앱을 만들때 어떤 언어를 쓰나요?
주제와는 직접적인 질문은 아닙니다만 물어볼 곳이 없어서 선생님께 질문드립니다. 인공지능 엔진을 이용한 어플을 만들려고 하는데, 주로 사용하는 언어가 무언가요? 파이썬, 플러터 사이에서 고민하고 있는데 이 참에 현업에서 사용하는 (프론트엔드) 언어들에 대해 폭넓게 알고 싶습니다. 감사합니다.
- 미해결딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
Encoder-Decoder 실습 질문드립니다.
Encoder-Decoder 실습 질문드립니다.직접 실습을 하면서 강의영상과 실습 결과의 차이가 커서 모델 성능이 떨어져보이는데 어떤 부분을 건드려봐야할까요?
- 미해결딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
030_IMDB_movie_reviews.ipynb 파일에서 사용하는 train sentences 와 test sentences는 왜 둘다 25000으로 갯수가 똑같나요?
안녕하세요. 수업 잘 듣고 있습니다. Sentiment analysis - IMDB - part1 수업자료에서 질문이 있습니다. 지금까지 머신러닝을 배워 일하다가 llm 모델을 사용하기 시작해서 수업을 듣고있는데, 보통 머신러닝에서는 training data의 비중이 test data보다 크잖아요. (0.75:0.25 / 0.8:0.2 등등). 그런데 이 파일에서 training sentence와 test sentence의 크기가 똑같던데, 대부분의 경우 같은건가요? 그렇다면 이유는 뭔가요?
- 미해결딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
Simple Chatbot 만들기 질문입니다.
안녕하세요, 'Simple Chatbot 만들기' 관련하여 진행하다가 문의드립니다.새롭게 최신 학습용 zip 파일을 다운받아서, 콜랩에서 해당 실습 파일 올리고, 바로 전체 셀 실행 테스트 해도,질문에 대한 답변이, 계속 같은 답변으로만 나오고 있는 증상입니다.sentencepiece 같은 모듈 설치시, 시간이 지나, 버전 차이로 인한 문제일까요?이상입니다.
- 미해결딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
트랜스포머 추론 단계에서 질문드립니다.
predictions, _ = self.transformer([encoder_input, output], training=False) # seq_len dimension에서 last token을 선택합니다. predictions = predictions[:, -1:, :] # (batch_size, 1, vocab_size) predicted_id = tf.argmax(predictions, axis=-1)트랜스포머 최종 결과값으로batch x seq_len x vocab_size 로 단어의 갯수만큼 확률 분포를 구하는 것을 이해했습니다.그리고 추론단계의 번역이므로 1개의 단어씩 output으로 뽑아야 한다는 것도 알겠는데요.위 코드에서 생성을 위해 seq_len dimension에서 last token을 선택하는 이유(predictions[:, -1:, :] 부분) 는 무엇인가요?
- 미해결딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
Decoder 전체(10) 부분에서 attn_weight output shape 관련 질문 드립니다.
sample_decoder = Decoder(num_layers=2, d_model=512, num_heads=8, dff=2048, target_vocab_size=8000, maximum_position_encoding=5000) x = tf.random.uniform((64, 26), dtype=tf.int64, minval=0, maxval=200) output, attn = sample_decoder(x, enc_output=sample_encoder_output, training=False, look_ahead_mask=None, padding_mask=None) output.shape, attn['decoder_layer2_block2'].shape위 코드 결과 output은 (TensorShape([64, 26, 512]), TensorShape([64, 8, 26, 62]))인데요.atten output size 64 x 8 x 26 x 62는batch x head num x seq_len x depth(=len_k) 의 사이즈일것 같은데요.depth의 경우, d_model(512) / num_head(8) = 64 가 되야하는게 아닌지요? 62인 이유가 궁금합니다.
- 미해결딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
트랜스포머 feed forward network 보다가 질문드립니다.
제가 아직 word embedding 이 NN으로 들어갈 때 어떻게 학습하는지 개념이 헷갈리는것 같습니다. 먼저 기초적인 질문이라 죄송합니다 ^^;;교재에서 Position-wise Feed Forward NN는 단어별로 별도로 적용된다고 설명해주셨는데요!예를 들어, 강의 교재의 10(=seq_len=단어의 갯수) x 512(=d model) 이 dff가 2048인 Position-wise Feed Forward NN에 input으로 들어오면,첫번째 단어(1x512 vector)가 feed forward nn에 들어와서 학습 후 동일한 nn에 두번째 단어(1x512 vector)가 들어와서 학습...열번째 단어도 동일한 과정으로 feed forward nn이 학습되는 개념이라고 이해하면 될까요?항상 상세한 답변에 감사드립니다.
- 미해결딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
LSTM Decoder 모델에서 train 모델과 inference 모델 관련 질문드립니다.
# decoder 는 [h, c] 를 initial state 로 사용 decoder_inputs_ = Input(shape=(max_len_kor,), name="Decoder_Input") # decoder word embedding 은 pre-trained vector 를 사용 않음 decoder_embedding = Embedding(num_words_kor, EMBEDDING_DIM) decoder_inputs_x = decoder_embedding(decoder_inputs_)Q 1-1. training state에서는 위와 같이 decoder input이 한 문장의 seq를 모두 input으로 넣어주는데, 이는 teacher forcing을 위해 매 step 마다 seq 데이터(한 문장 데이터)를 input으로 모두 사용하기 때문인 것인가요? decoder_inputs_single = Input(shape=(1,), name='Decoder_input') x = decoder_embedding(decoder_inputs_single)Q 1-2. inference state에서는 위와 같이 input size가 1인 이유는, 매번 step마다 하나의 단어(번역할 단어=최초 <sos>, 그 후부터 이전 step의 output)만 input으로 사용하기 때문인가요? Q2. LSTM encoder의 경우 encoder output, h, c를 최종 산출물로 리턴해주는데요. h와 c가 context vector로 decoder의 input으로 입력된다고 이해하였습니다. 그렇다면, 번역 모델에서 encoder output은 어떤 값을 갖고 있으며 어떤 용도로 사용될 수 있을까요? 감사합니다!
- 미해결딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
Decoder 의 Output Probablilities 계산하는 부분 RNN과 관련하여 질문드립니다.
RNN Decoder의 경우, time step 별로 해당 input 단어에 대한 vocab 사전의 확률분포가 나오면, argmax 하거나, beam searching 하여 output을 최종 산출한다는 것으로 이해했었습니다.강의에서 트랜스포머 Decoder의 경우도 개념은 똑같다고 하셨는데, 트랜스포머도 time step 이 있는건가요? 예를들어,'I love you' 를 '난 널 사랑해' 로 번역할 때,decoder에 attention계산과정 및 Feed Forward 계산과정을 거쳐 나온 최종 attetion vector (seq_len x d model 차원) 가 첫번째 단어 '난' 부터 시작해서 greedy 하게, 혹은 beam search 전략 통하여 확률분포를 구한다고 보면 될까요?
- 미해결딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
트랜스포머 Encoder Output이 Decoder Input으로 들어갈 때 관련 질문 드립니다.
Encoder의 Output은 attention vector (seq_len x d model) 하나가 나오는데, Decoder의 인풋으로 들어갈 땐 이를 encoder에서 배웠던 Q, K, V 로 나눈뒤, 이중에서 K, V 가 Decoder의 Encoder-Decoder attention layer에서의 K, V로 사용된다고 보면 될까요?
- 미해결딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
embedding이 뭔가요?
sentiment analysis 이론 강의까지 들었는데, embedding 의 기능만 설명하시고 embedding이 뭔지에 대한 설명이 없어서 이해하기 힘들어요. embedding이 뭔지 개념 설명좀 부탁드립니다
- 미해결딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
LSTM 모델에서 return_state를 False로 놨을때 출력되는 o,h,c
LSTM 모델에서 return_state를 False로 놨을때 출력되는 o,h,c에 대한 질문이 있습니다..o는 output, h는 hidden layer 맞나요? 그리고 c는 뭔가요?
- 미해결딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
감성 분석 실습 모델 만들때 질문 드립니다!
다시 한 번 좋은 강의 너무 감사합니다 :)회사에서 NLP로 업무가 바뀌며 열공하느라 질문이 많네요..^^; 030_IMDB_movie_reviews.ipynb 의 아래 코드에서model = Sequential([ Embedding(vocab_size+1, 64), Bidirectional(tf.keras.layers.LSTM(64)), Dense(64, activation='relu'), Dense(1, activation='sigmoid') ])embedding의 차원 64와 LSTM hidden size 64와 Dense의 64는 항상 같아야 되는게 맞나요? tf.keras.layers.LSTM(64))위 코드를 해석해보면, LSTM의 input에 대한 weight 개수가 64개 인데 Dense(64, activation='relu'),그 weight들을 fully connected 뉴런들로 덧붙여주겠다는 뜻으로 해석하면 될까요?
- 미해결딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
구글 코랩에서 sklearn version 확인하는 법?
안녕하세요, 강의에서 사용하시는 구글 코랩에서 sklearn 모듈의 버전을 확인하고 싶은데요, 보통 사용하는 sklearn.__version__ 이나 import 한 모듈 이것저것 시도해봐도 전부 AttributeError: type object 'CountVectorizer' has no attribute '__version__'나 NameError: name 'sklearn' is not defined 라는 오류가 뜹니다 (pd.__version__은 잘 작동) sklearn 버전은 어떻게 확인해야 하나요? 그리고 왜 sklearn은 정의되지 않았다는 오류가 뜨는건가요?
- 미해결딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
word embedding 훈련 예시 관련 질문 드립니다.
예를들어 skip-gram(window size 2) 에서I love king of Korea이라는 문장을 워드임베딩 하게 되면,'king', 'I love', 'of Korea' 5개의 단어 중 3차원(I love, king, of Korea) 의 벡터(ex. <0.3, 0.5, 0.1>) 가 되는건가요?차원은 어떻게 결정하는 것이고, 워드 임베딩 학습은 어떤식으로 진행되는지 예시를 설명해주실 수 있을까요?미리 감사합니다!
- 미해결딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
Beam-search 전략에서 joint probability를 만드는 문제 질문 드립니다.
안녕하세요.Beam-search 전략에서 joint probability를 만드는 문제 질문 드립니다.학습하면서 joint 확률분포를 여러 경우의 수에 대해 미리 모두 만들어놓는 개념이라고 보면 되나요?예를들어,"I love you so much" 를"난 널 매우 사랑해" 로 번역할 때 I가 나왔을 때, '그는 매우' 나 '철수는 사과를' 이 나올 확률보다는 '난 널' 이라고 나올 확률이 제일 높도록 학습하는 개념인가요?좋은 강의 감사합니다.