내 데이터에 25 개의 기능이 있다고 가정 해 보겠습니다. Keras에서는 각 입력 피쳐에 대해 Embedding
레이어를 쉽게 구현하고 나중에 병합하여 이후 레이어에 공급할 수있었습니다.tensorflow를 사용하여 임베디드 레이어 구현
tf.nn.embedding_lookup
은 id
매개 변수를 허용합니다.이 매개 변수는 단순한 정수 또는 정수 배열 ([1,2,3, ..]) 일 수 있습니다. 그러나, 기능 입력
X = tf.split(1,in_feature_num,x)
를 사용하여 종종 형상
x = tf.placeholder(tf.float32, [None, in_feature_num])
I가 자신의 기능을 분리 할 수이며, 각각의 입력은 형상이다 기능 [? 1]. 그러나 embedding_lookup
은 [?, 1]의 모양을 따르지 않으며 지정된 행 길이가 없기 때문에 reshape
또는 unpack
과 같은 모양으로 [?]를 사용할 수 없습니다. 그래서
, 어떻게이 같은 삽입 표현으로
[[1],
[2],
[3],
...
]
같은 입력을 변환 할 수 :
는 SO 후 관련[
[....], #a vector
[....], #a vector
[....], #a vector
...
]
은 다음과 같습니다 What does tf.nn.embedding_lookup function do? 및 TensorFlow Embedding Lookup 그러나 그 게시물은 해결되지 않습니다 내 문제.
나는 "귀하의 데이터에는 기능이 있습니다"라는 의미를 100 % 확신하지 못했습니다. 내 이해는 embeddings 귀하의 입력 데이터의 대표입니다. 그래서 그것들은 특징입니다. NN 앞에 임베디드 레이어를 추가하고 임베디드 레이어를 실제로 배우기위한 가중치를 배우거나 일반화 된 사전 교육 된 레이어를 추가 할 수 있습니다. 데이터에 대해 더 구체적으로 설명해 주시겠습니까? – roopalgarg
25 가지 기능을 배치하고 각 기능마다 고유 한 임베딩 기능을 원한다고 말하고 있습니까? – mazecreator