最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

向量數(shù)據(jù)庫的崛起:從矢量搜索到深度學習 (一)

2023-07-11 11:23 作者:INFINI-Labs  | 我要投稿

導讀?#

據(jù) IDC 預測,2018 年到 2025 年之間,全球產(chǎn)生的數(shù)據(jù)量將會從 33 ZB 增長到 175 ZB, 復合增長率達到 27%,其中超過 80% 的數(shù)據(jù)都會是處理難度較大的非結(jié)構(gòu)化數(shù)據(jù)。盡管傳統(tǒng)的結(jié)構(gòu)化數(shù)據(jù)僅占總數(shù)據(jù)量的不到 20%,但現(xiàn)代數(shù)據(jù)處理技術已經(jīng)擁有成熟的基礎軟件棧來處理這些數(shù)據(jù),然而,面對超過 80% 的海量非結(jié)構(gòu)化數(shù)據(jù),現(xiàn)有的架構(gòu)卻不能很好地管理和應用。 管理非結(jié)構(gòu)化數(shù)據(jù)是一項復雜而困難的任務,這主要體現(xiàn)在以下幾個方面:

  1. 非結(jié)構(gòu)化數(shù)據(jù)的容量比結(jié)構(gòu)化數(shù)據(jù)更大;

  2. 產(chǎn)生的速度比結(jié)構(gòu)化數(shù)據(jù)更快;

  3. 數(shù)據(jù)來源更具有多樣性;

  4. 用戶對這些數(shù)據(jù)在數(shù)據(jù)、內(nèi)容、信息和知識層面有著多層次的需求。

為了解決這些問題,除了引入革新的底層數(shù)據(jù)架構(gòu),還需要將計算機視覺、NLP 等技術融入其中,并借助深度學習等人工智能技術實現(xiàn)數(shù)據(jù)治理,進而實現(xiàn)知識復用與智能搜索。幸運的是,我們現(xiàn)在同時經(jīng)歷“非結(jié)構(gòu)化數(shù)據(jù)”與“人工智能”兩場變革,各類人工智能技術為我們提供了理解非結(jié)構(gòu)化數(shù)據(jù)的途徑,也就是將文本、圖像、音頻等非結(jié)構(gòu)化數(shù)據(jù) Embedding 為向量表示,并存儲在向量數(shù)據(jù)庫中,以便進行快速的相似度搜索和數(shù)據(jù)分析。[1]

Embedding 技術?#

什么是 Embedding??#

An embedding is a mapping from discrete objects, such as words, to vectors of real numbers. — Tensorflow 社區(qū)

Embedding 是用一個低維稠密向量來表示一個對象,使得這個向量能夠表達相應對象的某些特征,同時向量之間的距離能反應對象之間的相似性。 — 王喆《深度學習推薦系統(tǒng)》

將一個實例從復雜的空間投射到相對簡單的空間,以便對原始實例進行理解,或者在相對簡單的空間中進行后續(xù)操作。 — chrisyi《Network embedding 概述》

為了儲存非結(jié)構(gòu)化數(shù)據(jù),我們需要對其進行編碼為向量表示,但原始的向量通常高度稀疏,這對計算機的計算和處理不利,Embeding 的主要作用是就將高維的稀疏向量轉(zhuǎn)化為稠密向量以方便對模型進一步處理。 具體而言,假設我們將如下字典通過 One-hot 編碼:

極: 000001 限: 000010 科: 000100 技: 001000 公: 010000 司: 100000

那么我們就可以用如下矩陣來表示“極限科技”這個短語:

[ 0 0 0 0 0 1 ] [ 0 0 0 0 1 0 ] [ 0 0 0 1 0 0 ] [ 0 0 1 0 0 0 ]

然后,我們使用最簡單的詞頻向量(Count Vector)將下列短語分別表示為:

極限科技: [ 1 1 1 1 0 0 ] 科技公司: [ 0 0 1 1 1 1 ] 公司  : [ 0 0 0 0 1 1 ]

這樣,我們就能將由上述字典所組成的短句 Embedding 成更低維度的稠密向量,并且每個向量都包含了一定的信息(這里是詞頻),以便于通過特定的算法對這些向量進行分析、篩查。

主流的 Embedding 技術?#

上述基于詞頻的 Embedding 是一種簡單的確定性(deterministic)的方法,除此之外還有:

  • TF-IDF Vector

  • Co-Occurrence Vector

這兩種方法相較于前者,增加了對單詞所在上下文的考慮,從而能包含更豐富的信息。隨著人工智能,特別是神經(jīng)網(wǎng)絡的發(fā)展逐漸涌現(xiàn)出許多基于預測模型的 Embedding 技術,通過此類模型能將單詞、句子、文檔等轉(zhuǎn)換為攜帶豐富語義信息的向量,比如最近大火的 GPT 模型,它對自然語言已經(jīng)具備相當高的理解能力,從而能支持非常復雜的語義分析、查找等操作。 主流的 Embedding 技術可以分為三大塊[2]

  1. 矩陣分解法

  2. 基于自然語言處理(NLP)的方法

  3. 基于圖(Graph)的方法

矩陣分解法?#

矩陣分解法是一種常見的 Embedding 方法,它可以將高維的矩陣映射成兩個低維矩陣的乘積,很好地解決了數(shù)據(jù)稀疏的問題,常見的實現(xiàn)包括:

  1. 奇異值分解(Singular Value Decomposition,SVD)

  2. 隱式語義分析(Latent Semantic Analysis,LSA)

矩陣分解法的優(yōu)點包括[3]

  1. 能夠挖掘更深層的用戶和物品間的聯(lián)系,預測精度較高;

  2. 編程實現(xiàn)相對容易,時間和空間復雜度較低;

  3. 具有較好的擴展性,可以方便地添加其它因素。

其缺點包括:

  1. 模型訓練費時;

  2. 隱含特征無法使用現(xiàn)實生活中的概念來解釋,推薦結(jié)果的解釋性不好。

基于自然語言處理的方法?#

自然語言處理(NLP)是一種人工智能技術,它涉及計算機對人類語言的理解和生成。NLP 包括許多任務,如文本分類、情感分析、命名實體識別、機器翻譯和自動摘要等。NLP 技術可以幫助計算機處理和分析大量的文本數(shù)據(jù),從而使計算機能夠更好地理解人類語言并作出更準確的預測和決策。而基于 NLP 的 Embedding 方法的主要思想是將每個單詞或短語映射到一個低維向量空間中,使得在這個向量空間中,相似的單詞或短語在距離上更加接近,以便于支持語義查找與分析工作。常見的方法包括:

  1. Word2vec

  2. GloVe(Global Vectors for Word Representation)

  3. FastText

基于自然語言處理的優(yōu)點包括:

  1. 可以捕捉詞語之間的語義關系,使得計算機可以更好地理解文本數(shù)據(jù);

  2. 可以在不同的自然語言處理任務中共享相同的 Embedding 表示,從而提高模型的泛化能力;

  3. 可以通過對大量文本數(shù)據(jù)進行訓練,獲得更加準確的 Embedding 表示。

其缺點包括:

  1. 對于一些語義復雜的詞語或者生僻詞等,需要更復雜的模型才能準確地捕捉其語義關系;

  2. 在處理大規(guī)模文本數(shù)據(jù)時,需要消耗大量的計算資源和時間。

基于圖的方法?#

上述方法都是針對序列文本而設計的,而對于諸如社交網(wǎng)絡分析、推薦系統(tǒng)、知識圖譜等領域中的問題,如下圖[2]所示,數(shù)據(jù)對象之間更多呈現(xiàn)出圖結(jié)構(gòu):

基于圖的 Embedding 技術是一種將圖數(shù)據(jù)(通常為高維稠密的矩陣)映射為低微稠密向量的過程,能夠很好地解決圖數(shù)據(jù)難以高效輸入機器學習算法的問題。Graph Embedding 技術將圖中的節(jié)點以低維稠密向量的形式進行表達,要求在原始圖中相似 (不同的方法對相似的定義不同) 的節(jié)點其在低維表達空間也接近。常見的方法包括:

  1. DeepWalk

  2. Node2vec

  3. Metapath2vec

基于圖的方法的優(yōu)點包括:

  1. 可以將圖中的節(jié)點表示為向量,從而方便進行各種圖形分析任務,例如節(jié)點分類、鏈路預測和社區(qū)發(fā)現(xiàn)等;

  2. 可以處理大規(guī)模圖形數(shù)據(jù),因為它們通常使用隨機游走等方法來生成節(jié)點序列,而不需要直接處理整個圖形;

  3. 可以使用元路徑來定義隨機游走算法中的轉(zhuǎn)移概率來處理異質(zhì)性信息網(wǎng)絡。

其缺點包括:

  1. 使用深度學習模型來學習節(jié)點嵌入需要大量的計算資源和時間;

  2. 由于它們通常是通過隨機游走等方法來生成節(jié)點序列,而這些方法可能會忽略一些重要的節(jié)點和邊,而受到會受到噪聲節(jié)點和邊緣效應的影響;

  3. 比較稀疏的圖形數(shù)據(jù)會影響嵌入的質(zhì)量和性能。

總結(jié)?#

本節(jié)簡單介紹了向量數(shù)據(jù)庫誕生的背景以及當前熱門的 Embedding 技術,包括傳統(tǒng)的基于矩陣分解的方法、基于自然語言處理的方法以及基于圖數(shù)據(jù)的方法,作為向量數(shù)據(jù)庫的上層接口,應當根據(jù)不同的數(shù)據(jù)類型采用不同的方法進行向量化以最大化滿足業(yè)務需求。

參考資料?#

  • [1]:?深入解讀向量數(shù)據(jù)庫,Zilliz 「三劍客」干貨分享

  • [2]:?萬字長文經(jīng)典-再論 Embedding 技術

  • [3]:?矩陣分解的優(yōu)缺點及其高級演化


向量數(shù)據(jù)庫的崛起:從矢量搜索到深度學習 (一)的評論 (共 條)

分享到微博請遵守國家法律
白河县| 盘锦市| 杭锦后旗| 舟山市| 肥乡县| 洮南市| 微博| 鄯善县| 虞城县| 凤阳县| 岑巩县| 卢龙县| 嘉禾县| 禄劝| 天台县| 方正县| 荥经县| 琼中| 安丘市| 扎鲁特旗| 六盘水市| 鹤庆县| 沾益县| 江口县| 文昌市| 竹北市| 安陆市| 个旧市| 沙坪坝区| 平舆县| 中方县| 香港| 花莲市| 洪江市| 吉首市| 宜昌市| 无棣县| 海阳市| 台东县| 奇台县| 确山县|