05.17 「思考」TensorFlow 中最重要的概念:嵌入,是啥?

「思考」TensorFlow 中最重要的概念:嵌入,是啥?

題圖:wine-dharma-337774-unsplash

自然語言處理中,如何多文本訓練,做機器翻譯,人機問答呢?這裡面一般比較底層的技術便是獲取每個詞的嵌入向量。

今天和大家分享一個深度學習中的基礎概念:嵌入。關於嵌入提出幾個問題,讀者朋友們,你們可以先思考下。然後帶著這些問題,點擊閱讀原文,查看官方解答。

1、為什麼要有嵌入?

2、什麼是嵌入?

3、如何得到嵌入向量?

4、 如何可視化展示嵌入向量?

5、嵌入向量的實際應用有哪些?

一個單詞集合,這些屬於離散的非數值型對象,數值計算的基本要求是數值型,所以需要將他們映射為實數向量。

嵌入是將離散對象數值化的過程。

嵌入向量,google 開源的 word2vec 模型做了這件事,現在 TensorFlow 中調用 API 幾行代碼便可以實現:

word_embeddings = tf.get_variable(“word_embeddings”,

[vocabulary_size, embedding_size])

embedded_word_ids = tf.nn.embedding_lookup(word_embeddings, word_ids)

embedded_word_ids 的形狀 [vocabulary_size, embedding_size]

可視化展示主要需要對高維向量降維。

嵌入可以通過很多網絡類型進行訓練,並具有各種損失函數和數據集。例如,對於大型句子語料庫,可以使用遞歸神經網絡根據上一個字詞預測下一個字詞,還可以訓練兩個網絡來進行多語言翻譯。


分享到:


相關文章: