色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

詳解神經網絡嵌入的概念

電子工程師 ? 來源:工程師曾玲 ? 2019-06-08 14:47 ? 次閱讀

深度學習的一個顯著成功應用是嵌入,這是一種將離散變量表示為連續向量的方法。這項技術已經有了實際的應用,其中有在機器翻譯中使用詞嵌入和類別變量中使用實體嵌入。

近年來,神經網絡在圖像分割、自然語言處理、時間序列預測等方面的應用有了很大的發展。深度學習的一個顯著成功應用是嵌入,這是一種將離散變量表示為連續向量的方法。這項技術已經有了實際的應用,其中有在機器翻譯中使用詞嵌入和類別變量中使用實體嵌。

在本文中,我將解釋什么是神經網絡嵌入,為什么要使用它們,以及如何學習它們。我們會在真正的問題的上下文中討論這些概念:將Wikipedia上的所有圖書表示為向量,并創建圖書推薦系統。


Wikipedia上所有書的神經網絡嵌入

嵌入

嵌入是一個從離散變量到連續數字向量的映射。在神經網絡的上下文中,embeddings是低維的, 離散變量用學習到的連續向量表示。神經網絡嵌入是有用的,因為它們可以減少類別變量的維數,并有意義地在轉換空間中表示類別。

神經網絡嵌入有3個主要目的:

① 在嵌入空間中查找最近的鄰居。這些鄰居可以用于根據用戶興趣或聚類類別提出建議。

② 作為監督任務的機器學習模型的輸入。

③ 用于概念的可視化和類別之間的關系的可視化。

這意味著在圖書項目中,使用神經網絡嵌入,我們可以把維基百科上所有的37000篇圖書文章,用一個具有50個數字的向量來表示每一篇文章。此外,由于嵌入式是學習的,在我們的學習問題上下文中更相似的書籍在嵌入式空間中更接近。

神經網絡嵌入克服了用獨熱編碼表示分類變量的兩個局限性:

獨熱編碼的局限性

獨熱編碼類別變量的操作實際上是一個簡單的嵌入,其中每個類別都映射到一個不同的向量。這個過程采用離散實體,并將每個觀察結果映射到一個只有一個1的向量中。

獨熱編碼技術有兩個主要缺點:

① 對于高基數變量—那些具有許多類別的變量—轉換之后向量的維數變得太大了。

② 這種映射是完全沒有監督的:“相似”的類別在嵌入空間中并沒有彼此放置得更靠近。

第一個問題很好理解:對于每個額外的類別(稱為實體),我們必須向一個熱編碼向量添加另一個數字。如果我們在Wikipedia上有37000本書,那么表示這些書需要為每本書提供37000維的向量,這使得針對這種表示的任何機器學習模型的訓練都是不可行的。

第二個問題同樣是有局限的:獨熱編碼不會將相似的實體彼此靠近的放在向量空間中。如果我們使用余弦距離來度量向量之間的相似性,那么經過獨熱編碼后,實體之間的相似性為0。

這意味著,《戰爭與和平》和《安娜?卡列尼娜》(這兩本書都是列夫?托爾斯泰(Leo Tolstoy)的經典著作)這樣的實體彼此之間的距離,并不比《戰爭與和平》與《銀河系漫游指南》之間的距離更近。

# One Hot Encoding Categoricals

books = ["War and Peace", "Anna Karenina",

"The Hitchhiker's Guide to the Galaxy"]

books_encoded = [[1, 0, 0],

[0, 1, 0],

[0, 0, 1]]

Similarity (dot product) between First and Second = 0

Similarity (dot product) between Second and Third = 0

Similarity (dot product) between First and Third = 0

考慮到這兩個問題,表示類別變量的理想解決方案是需要更少的數字,而不是類別的數量,并且將類似的類別放在更靠近的位置。

# Idealized Representation of Embedding

books = ["War and Peace", "Anna Karenina",

"The Hitchhiker's Guide to the Galaxy"]

books_encoded_ideal = [[0.53, 0.85],

[0.60, 0.80],

[-0.78, -0.62]]

Similarity (dot product) between First and Second = 0.99

Similarity (dot product) between Second and Third = -0.94

Similarity (dot product) between First and Third = -0.97

為了更好地表示類別實體,我們可以使用嵌入神經網絡和監督任務來學習嵌入。

學習嵌入

使用one-hot編碼的主要問題是轉換不依賴于任何監督。我們可以通過在有監督的任務中使用神經網絡來學習嵌入,從而大大改進嵌入。嵌入形成參數—網絡的權重—經過調整以最小化任務上的損失。得到的嵌入向量表示類別,其中相似的類別(相對于任務)彼此更接近。

例如,如果我們有一個包含50,000個單詞的電影評論集合,我們可以使用一個訓練好的嵌入式神經網絡來預測評論是的情感,從而為每個單詞學習100維的嵌入。詞匯表中與正面評價相關的單詞,如“brilliant”或“excellent”,將在嵌入空間中出現得更近,因為網絡已經了解到它們都與正面評價相關。

詳解神經網絡嵌入的概念

電影句子中的詞嵌入

在上面給出的書的例子中,我們的監督任務可以是“確定一本書是否是列夫·托爾斯泰寫的”,由此產生的嵌入將使托爾斯泰寫的書彼此更接近。解決如何創建監督任務來生成相關表示的問題是嵌入過程中最困難的部分。

實現

在Wikipedia book項目中,監督學習任務被設置為預測一本書的文章中是否出現了指向Wikipedia頁面的給定鏈接。我們提供成對的(書名、鏈接)訓練示例,其中混合了正樣本對和負樣本對。這種設置基于這樣的假設,即鏈接到類似Wikipedia頁面的書籍彼此相似。因此,由此產生的嵌入應該將類似的書籍更緊密地放置在向量空間中。

我使用的網絡有兩個平行的嵌入層,分別映射書和wikilink,用來區分50維向量,還有一個點積層,將嵌入的內容組合成一個數字,用于預測。嵌入是網絡的參數或權重,在訓練過程中進行調整,以最小化監督任務的損失。

在Keras代碼中,這看起來像這樣(如果你不完全理解代碼,不要擔心,直接跳到圖像):

# Both inputs are 1-dimensional

book = Input(name = 'book', shape = [1])

link = Input(name = 'link', shape = [1])

# Embedding the book (shape will be (None, 1, 50))

book_embedding = Embedding(name = 'book_embedding',

input_dim = len(book_index),

output_dim = embedding_size)(book)

# Embedding the link (shape will be (None, 1, 50))

link_embedding = Embedding(name = 'link_embedding',

input_dim = len(link_index),

output_dim = embedding_size)(link)

# Merge the layers with a dot product along the second axis (shape will be (None, 1, 1))

merged = Dot(name = 'dot_product', normalize = True, axes = 2)([book_embedding, link_embedding])

# Reshape to be a single number (shape will be (None, 1))

merged = Reshape(target_shape = [1])(merged)

# Output neuron

out = Dense(1, activation = 'sigmoid')(merged)

model = Model(inputs = [book, link], outputs = out)

# Minimize binary cross entropy

model.compile(optimizer = 'Adam', loss = 'binary_crossentropy', metrics = ['accuracy'])

雖然在有監督的機器學習任務中,目標通常是訓練一個模型對新數據進行預測,但在這個嵌入模型中,預測只是達到目的的一種手段。我們想要的是嵌入權值,將書籍和鏈接表示為連續向量。

嵌入本身并不那么有趣,它們只是數字的向量:

詳解神經網絡嵌入的概念

來自書籍推薦嵌入模型的示例嵌入

然而,嵌入可以用于前面列出的3個目的,對于這個項目,我們主要感興趣的是推薦基于最近鄰的書籍。為了計算相似性,我們取一本書進行查詢,找到它的向量與其他所有圖書向量的點積。(如果我們的嵌入是標準化的,那么這個點積就是向量之間的cos距離,范圍從-1(最不相似)到+1(最相似)。我們也可以用歐氏距離來度量相似性。

這是我建立的圖書嵌入模型的輸出:

Books closest to War and Peace.

Book: War and Peace Similarity: 1.0

Book: Anna Karenina Similarity: 0.79

Book: The Master and Margarita Similarity: 0.77

Book: Doctor Zhivago (novel) Similarity: 0.76

Book: Dead Souls Similarity: 0.75

(向量與自身的余弦相似度必須為1.0)。經過降維(見下圖),可以得到如下圖:

詳解神經網絡嵌入的概念

書的嵌入以及最近的鄰居

我們可以清楚地看到學習嵌入的價值!現在,維基百科上每一本書都有一個50個數字的向量表示,相似的書彼此之間距離更近。

嵌入可視化

嵌入的最酷的部分之一是,它們可以用來可視化概念,例如“小說”或“非小說”之間的關系。這需要進一步的降維技術來將維度降為2或3。最常用的約簡方法本身就是一種嵌入方法:t分布隨機鄰接嵌入(TSNE)。

我們可以把維基百科上所有書籍的37000個原始維度,用神經網絡嵌入將它們映射到50個維度,然后用TSNE將它們映射到2個維度。結果如下:

詳解神經網絡嵌入的概念

在Wikipedia上的所有37000本書的嵌入

(TSNE是一種流形學習技術,這意味著它試圖將高維數據映射到低維流形,創建一個試圖維護數據內部局部結構的嵌入。它幾乎只用于可視化,因為輸出是隨機的,不支持轉換新數據。一個正在興起的替代方案是統一流形近似和投影,UMAP,它更快,并且支持將新數據轉換到嵌入空間中)。

這本身并不是很有用,但是一旦我們開始根據不同的書的特點給它上色,它就會變得很有洞察力。

用流派對嵌入上色

我們可以清楚地看到屬于同一類型的書籍的分組。這并不完美,但仍然令人印象深刻的是,我們可以用兩個數字來表示維基百科上的所有書籍,這兩個數字仍然能夠捕捉到不同類型之間的差異。

書的例子(即將發表的完整文章)展示了神經網絡嵌入的價值:我們有一個類別對象的向量表示,它是低維的,并且在嵌入空間中將相似的實體彼此放置得更近。

交互式可視化

靜態圖的問題是,我們不能真正地研究數據并研究變量之間的分組或關系。為了解決這個問題,TensorFlow開發了projector,這是一個在線應用程序,可以讓我們可視化并與嵌入進行交互。我將很快發布一篇關于如何使用這個工具的文章,但是現在,結果如下:

使用projector交互式探索書籍嵌入

結論

神經網絡嵌入是學習離散數據作為連續向量的低維表示。這些嵌入克服了傳統編碼方法的限制,可以用于查找最近的鄰居、輸入到另一個模型和可視化。

雖然很多深度學習的概念都是在學術術語中討論的,但是神經網絡嵌入既直觀又相對容易實現。我堅信任何人都可以學習深度學習并使用Keras這樣的庫構建深度學習解決方案。嵌入是處理離散變量的有效工具,是深度學習的一個有用應用。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 神經網絡
    +關注

    關注

    42

    文章

    4779

    瀏覽量

    101052
  • 深度學習
    +關注

    關注

    73

    文章

    5512

    瀏覽量

    121417
收藏 人收藏

    評論

    相關推薦

    卷積神經網絡入門資料

    卷積神經網絡入門詳解
    發表于 02-12 13:58

    【PYNQ-Z2試用體驗】神經網絡基礎知識

    前言前面我們通過notebook,完成了在PYNQ-Z2開發板上編寫并運行python程序。我們的最終目的是基于神經網絡,完成手寫的數字識別。在這之前,有必要講一下神經網絡的基本概念和工作原理。何為
    發表于 03-03 22:10

    卷積神經網絡如何使用

    卷積神經網絡(CNN)究竟是什么,鑒于神經網絡在工程上經歷了曲折的歷史,您為什么還會在意它呢? 對于這些非常中肯的問題,我們似乎可以給出相對簡明的答案。
    發表于 07-17 07:21

    【案例分享】ART神經網絡與SOM神經網絡

    今天學習了兩個神經網絡,分別是自適應諧振(ART)神經網絡與自組織映射(SOM)神經網絡。整體感覺不是很難,只不過一些最基礎的概念容易理解不清。首先ART
    發表于 07-21 04:30

    如何構建神經網絡

    原文鏈接:http://tecdat.cn/?p=5725 神經網絡是一種基于現有數據創建預測的計算系統。如何構建神經網絡神經網絡包括:輸入層:根據現有數據獲取輸入的層隱藏層:使用反向傳播優化輸入變量權重的層,以提高模型的預測
    發表于 07-12 08:02

    輕量化神經網絡的相關資料下載

    原文鏈接:【嵌入式AI部署&基礎網絡篇】輕量化神經網絡精述--MobileNet V1-3、ShuffleNet V1-2、NasNet深度神經網絡模型被廣泛應用在圖像分類、物體檢測等
    發表于 12-14 07:35

    卷積神經網絡一維卷積的處理過程

    以前的神經網絡幾乎都是部署在云端(服務器上),設備端采集到數據通過網絡發送給服務器做inference(推理),結果再通過網絡返回給設備端。如今越來越多的神經網絡部署在
    發表于 12-23 06:16

    人工神經網絡基礎描述詳解

    本文主要對人工神經網絡基礎進行了描述,主要包括人工神經網絡概念、發展、特點、結構、模型。 本文是個科普文,來自網絡資料的整理。 一、 人工神經網絡
    發表于 11-15 15:41 ?3.8w次閱讀
    人工<b class='flag-5'>神經網絡</b>基礎描述<b class='flag-5'>詳解</b>

    概念到結構、算法解析卷積神經網絡

    本文是對卷積神經網絡的基礎進行介紹,主要內容包含卷積神經網絡概念、卷積神經網絡結構、卷積神經網絡求解、卷積
    發表于 12-05 11:32 ?7次下載

    什么是模糊神經網絡_模糊神經網絡原理詳解

    模糊神經網絡就是模糊理論同神經網絡相結合的產物,它匯集了神經網絡與模糊理論的優點,集學習、聯想、識別、信息處理于一體。
    發表于 12-29 14:40 ?4.9w次閱讀
    什么是模糊<b class='flag-5'>神經網絡</b>_模糊<b class='flag-5'>神經網絡</b>原理<b class='flag-5'>詳解</b>

    反向傳播神經網絡概念是什么

    神經網絡在許多領域都有廣泛的應用,如圖像識別、自然語言處理、語音識別等。 BP神經網絡概念 BP神經網絡是一種多層前饋神經網絡,它由輸入層
    的頭像 發表于 07-03 11:06 ?679次閱讀

    循環神經網絡的基本概念

    循環神經網絡的基本概念、循環機制、長短時記憶網絡(LSTM)、門控循環單元(GRU)等方面進行介紹。 循環神經網絡的基本概念 循環
    的頭像 發表于 07-04 14:31 ?781次閱讀

    遞歸神經網絡是循環神經網絡

    遞歸神經網絡(Recurrent Neural Network,簡稱RNN)和循環神經網絡(Recurrent Neural Network,簡稱RNN)實際上是同一個概念,只是不同的翻譯方式
    的頭像 發表于 07-04 14:54 ?855次閱讀

    rnn是遞歸神經網絡還是循環神經網絡

    : 循環神經網絡的基本概念 循環神經網絡是一種具有時間序列特性的神經網絡,它能夠處理序列數據,具有記憶功能。與傳統的前饋神經網絡不同,循環
    的頭像 發表于 07-05 09:52 ?631次閱讀

    卷積神經網絡的基本概念、原理及特點

    的基本概念、原理、特點以及在不同領域的應用情況。 一、卷積神經網絡的基本概念 卷積神經網絡是一種深度學習算法,它由多層卷積層和池化層堆疊而成。卷積層負責提取圖像中的局部特征,而池化層則
    的頭像 發表于 07-11 14:38 ?1224次閱讀
    主站蜘蛛池模板: 成人a毛片久久免费播放 | 久久婷五月综合色啪首页 | 性满足久久久久久久久 | 国产在线观看免费观看不卡 | 把她带到密室调教性奴 | 男助理憋尿PLAY灌尿BL出去 | 欧美成人免费一区二区三区不卡 | 玖玖热视频一区二区人妻 | 一道精品视频一区二区三区 | 午夜剧场1000 | 韩国无遮羞禁动漫在线观看 | 99久久精品费精品国产 | 草莓视频在线免费观看 | 肉动漫h黄动漫日本免费观看 | 黄A无码片内射无码视频 | 久久婷婷久久一区二区三区 | 中文人妻熟妇精品乱又伧 | 成人影片下载网站 | 99久久亚洲 | 日韩精品久久久久久久电影 | 黄 色 网 站 免 费 涩涩屋 | 久久国产精品久久国产精品 | 国产色综合色产在线视频 | 国产亚洲精品AV麻豆狂野 | 国产色播视频在线观看 | 无码AV精品久久一区二区免费 | 吃胸亲吻吃奶摸下面免费视频 | 女性露出奶头流出精子 | 波多野结衣 无码片 | 翁公咬着小娇乳H边走边欢A | 十分钟免费观看大全视频 | 视频成人永久免费下载 | 亞洲人妻AV無碼在線視頻 | 久久re这里视频只有精品首页 | 久久re视频这里精品09首页 | 久久伊人中文字幕有码 | 日韩精品一区二区亚洲AV观看 | 亚洲电影网址 | 免费国产福利 | 男人J放进女人P全黄网站 | 97精品少妇偷拍AV |