最近發布
出色地。我們先看看“泡沫是否破滅了”、“如何繼續活下去”,然後談談這個花體字從何而來。
首先,我們來談談這條曲線的助力是什麼。她從哪裡來?他們可能會記住一切
- 2008年,「大數據」一詞出現。真正的產品開始了
出現 自2010年以來。大數據與機器學習直接相關。如果沒有大數據,當時存在的演算法就不可能穩定運作。這些不是神經網路。 2012 年之前,神經網路一直是少數人的專利。但隨後完全不同的演算法開始發揮作用,這些演算法已經存在了數年甚至數十年:支持向量機 (1963,1993),隨機森林 (1995)阿達助推器 (2003),...那些年的新創公司主要與結構化資料的自動處理相關:收銀機、使用者、廣告等等。第一波浪潮的衍生性商品是一組框架,例如 XGBoost、CatBoost、LightGBM 等。
- 2011-2012年
卷積神經網絡 多次在影像辨識競賽中獲獎。它們的實際使用有些延遲。我想說的是,具有巨大意義的新創公司和解決方案從 2014 年開始出現。我們花了兩年的時間來消化神經元仍然有效的事實,創建可以在合理的時間內安裝和啟動的便捷框架,開發能夠穩定和加快收斂時間的方法。卷積網路使得解決電腦視覺問題成為可能:影像和影像中物體的分類、物體偵測、物體和人的辨識、影像改進等等。
- 2015-2017。基於循環網路或其類似物(LSTM、GRU、TransformerNet 等)的演算法和專案蓬勃發展。功能良好的語音到文字演算法和機器翻譯系統已經出現。它們部分基於卷積網絡來提取基本特徵。部分原因是我們學會了收集非常大且好的資料集。
「泡沫破裂了嗎?炒作是否過熱?他們作為區塊鏈消亡了嗎?”
否則!明天 Siri 將停止在你的手機上工作,後天特斯拉將不知道轉彎和袋鼠之間的差異。
神經網路已經開始工作了。它們存在於數十種設備中。它們確實可以讓你賺錢,改變市場和你周圍的世界。炒作看起來有點不同:
只是神經網路不再是什麼新鮮事了。是的,很多人都有很高的期望。但大量公司已經學會使用神經元並製造基於它們的產品。神經元提供新功能,讓您裁員並降低服務價格:
- 製造公司正在整合演算法來分析生產線缺陷。
- 畜牧場購買系統來控制乳牛。
- 自動組合。
- 自動呼叫中心。
- SnapChat 中的過濾器。 (好吧,至少有一些有用的東西!)
但最主要的,但不是最明顯的:“沒有更多的新想法,否則它們不會帶來即時資本。”神經網路已經解決了數十個問題。他們將做出更多決定。所有顯而易見的想法都催生了許多新創公司。但表面上的一切都已經被收集起來了。在過去的兩年裡,我沒有遇到任何使用神經網路的新想法。沒有一種新方法(好吧,GAN 有一些問題)。
隨後的每一次啟動都變得越來越複雜。它不再需要兩個人使用開放資料訓練神經元。它需要程式設計師、伺服器、標記團隊、複雜的支援等。
結果,新創企業越來越少。但產量更多。需要添加車牌辨識嗎?市場上有數百名具有相關經驗的專家。您可以僱用某人,幾個月後您的員工就會製作該系統。或買現成的。但要創辦新公司嗎?…太瘋狂了!
您需要建立訪客追蹤系統 - 當您可以在 3-4 個月內製作自己的許可證並為您的業務提供改進時,為什麼要支付一堆許可證的費用。
現在,神經網路正在經歷與其他數十種技術相同的道路。
您還記得自 1995 年以來「網站開發人員」的概念發生了怎樣的變化嗎?市場尚未飽和。專業人士很少。但我可以打賭,5-10 年內 Java 程式設計師和神經網路開發人員之間不會有太大區別。市場上將有足夠的這兩種專家。
只是有一類問題可以用神經元來解決。出現了一項任務 - 聘請專家。
“下一步是什麼?承諾的人工智慧在哪裡?”
但這裡有一個小但有趣的誤解:)
顯然,當今存在的技術堆疊不會引導我們走向人工智慧。想法和它們的新穎性在很大程度上已經耗盡了。我們來談談目前的發展水準。
限制
讓我們從自動駕駛汽車開始。顯然,利用當今的技術製造全自動汽車是可能的。但這種情況會在多少年後發生還不清楚。特斯拉相信這將在幾年內發生 -
還有很多其他的
在我看來,15 年內,城市基礎設施本身很可能會發生變化,自動駕駛汽車的出現將不可避免,並將成為其延續。但這不能被視為智力。現代特斯拉是一個非常複雜的資料過濾、搜尋和再訓練管道。這些是規則-規則-規則,資料收集和過濾器(這裡
第一個問題
這就是我們看到的地方 第一個基本問題。大數據。這正是當前神經網路和機器學習浪潮的誕生。如今,要執行複雜且自動化的操作,您需要大量資料。不只是很多,而是非常非常多。我們需要自動化演算法來收集、標記和使用它們。我們想讓汽車看到面向太陽的卡車——我們必須先收集足夠數量的卡車。我們希望汽車不會因用螺栓固定在後備箱上的自行車而變得瘋狂 - 更多樣品。
此外,僅舉一個例子是不夠的。數百個?數千?
第二個問題
第二個問題 ——我們的神經網路所理解的內容的可視化。這是一項非常重要的任務。到目前為止,很少有人了解如何將這一點形象化。這些文章是最近才發表的,只是一些例子,即使是遙遠的:
嗯,是的,那套很好的“看看網格裡面有什麼”
我沒有提到其他幾十種小工具、方法、駭客、關於如何顯示網路內部的研究。這些工具有用嗎?它們是否可以幫助您快速了解問題所在並調試網絡?...獲得最後的百分比?嗯,大致相同:
您可以在 Kaggle 上觀看任何比賽。以及人們如何做出最終決定的描述。我們堆疊了 100-500-800 個模型單元,結果成功了!
當然,我有點誇張。但這些方法並不能提供快速、直接的答案。
有了足夠的經驗,研究了不同的選項,您就可以對系統做出這樣的決定的原因做出判斷。但糾正系統的行為將會很困難。安裝拐杖,移動閾值,新增資料集,採用另一個後端網路。
第三個問題
第三個基本問題 — 網格教的是統計數據,而不是邏輯。根據統計這個
從邏輯上講,這不是很相似。除非被迫,神經網路不會學習任何複雜的東西。他們總是教導盡可能簡單的手語。你有眼睛、鼻子、頭嗎?所以這就是臉!或者舉個例子,眼睛不代表臉。再說一次 - 數以百萬計的例子。
底部有足夠的空間
我想說,目前限制神經網路和機器學習發展的正是這三個全球性問題。這些問題並沒有限制它,它已經被積極使用。
這就是結局?神經網路啟動了嗎?
未知。但是,當然,每個人都希望不會。
解決我上面強調的基本問題有很多方法和方向。但到目前為止,這些方法都無法從根本上做一些新的事情,解決尚未解決的問題。到目前為止,所有基礎項目都是在穩定方法的基礎上完成的(特斯拉),或者仍然是機構或公司的測試項目(Google大腦,OpenAI)。
粗略地說,主要方向是創建輸入資料的一些高級表示。從某種意義上來說,就是「記憶」。記憶最簡單的例子是各種「嵌入」—影像表示。嗯,例如,所有臉部辨識系統。網路學習從臉部獲取一些不依賴旋轉、光線或解析度的穩定表示。本質上,網路最小化了「不同的面孔較遠」和「相同的面孔較近」的度量。
對於這樣的訓練,需要數以萬計、數十萬個範例。但結果具備了「一次性學習」的一些基礎。現在我們不需要數百張臉孔來記住一個人。只有一張臉,這就是我們的全部
只有一個問題......網格只能學習相當簡單的物件。當試圖區分的不是臉孔,而是「透過衣服來區分人」(任務
從數百萬個例子中學習也是一種樂趣。
正在努力大幅減少選舉。例如,人們可以立即回憶起第一個作品之一 一次性學習
只有一個缺點——通常訓練在一些簡單的“MNIST”範例上效果很好。當繼續執行複雜的任務時,您需要一個大型資料庫、物件模型或某種魔法。
總的來說,One-Shot 訓練工作是一個非常有趣的話題。你會發現很多想法。但在大多數情況下,我列出的兩個問題(在巨大資料集上進行預訓練/在複雜資料上不穩定)極大地干擾了學習。
另一方面,GAN(生成對抗網路)探討了嵌入的主題。您可能已經讀過很多關於該主題的 Habré 文章。 (
GAN 的一個特點是形成一些內部狀態空間(本質上與 Embedding 相同),它允許您繪製圖像。有可能
GAN 的問題在於,產生的物件越複雜,用「生成器-判別器」邏輯來描述它就越困難。因此,人們聽說過的 GAN 唯一真正的應用是 DeepFake,它再次操縱臉部表徵(對此有巨大的基礎)。
我很少看到其他有用的用途。通常是某種涉及完成圖畫的詭計。
然後再次。沒有人知道這將如何讓我們邁向更光明的未來。在神經網路中表示邏輯/空間是很好的。但我們需要大量的例子,我們不明白神經元本身如何表示這一點,我們不明白如何讓神經元記住一些非常複雜的想法。
強化學習 - 這是一種來自完全不同方向的方法。你肯定還記得谷歌是如何在圍棋領域擊敗所有人的。最近在《星海爭霸》和《Dota》中取得的勝利。但這裡的一切遠沒有那麼美好和有希望。他對強化學習及其複雜性的談論最深入
簡單總結一下作者寫的內容:
- 在大多數情況下,開箱即用的模型不適合/工作不佳
- 實際問題更容易透過其他方式解決。由於 RL 的複雜性/不可預測性/運算複雜性,波士頓動力公司不使用 RL
- 為了讓強化學習發揮作用,你需要一個複雜的函數。創建/編寫通常很困難
- 模型訓練困難。你必須花費大量時間來提升並擺脫局部最優
- 導致模型很難重複,稍有改動模型就不穩定
- 通常會過度擬合某種左翼模式,直到隨機數產生器
關鍵是 RL 尚未在生產環境中發揮作用。谷歌有一些實驗(
記憶體應用。上述所有內容的缺點是缺乏結構。嘗試解決所有這些問題的方法之一是為神經網路提供對單獨記憶體的存取。這樣她就可以在那裡記錄並重寫她的步驟結果。然後神經網路就可以根據當前的記憶狀態來決定。這與經典處理器和計算機非常相似。
最著名和最受歡迎的
看來這就是理解智能的關鍵?但可能不會。該系統仍需要大量資料進行訓練。它主要適用於結構化表格資料。此外,當臉書
解脫。創建有意義的記憶的另一種方法是採用相同的嵌入,但在訓練過程中,引入額外的標準,使您能夠突出其中的「含義」。例如,我們想要訓練一個神經網路來區分商店中的人類行為。如果我們遵循標準路徑,我們將不得不建立十幾個網路。一是找一個人,二是確定他在做什麼,三是他的年齡,四是他的性別。單獨的邏輯著眼於商店中執行/接受培訓執行此操作的部分。第三個決定了它的軌跡,等等。
或者,如果有無限量的數據,那麼就可以針對所有可能的結果訓練一個網路(顯然,無法收集這樣的一組數據)。
解開方法告訴我們-讓我們訓練網絡,使其本身能夠區分概念。這樣它就會根據影片形成一個嵌入,其中一個區域決定動作,一個區域決定時間在地板上的位置,一個區域決定人的身高,一個區域決定人的性別。同時,在訓練時,我幾乎不希望向網路提示這些關鍵概念,而是讓它突出顯示和分組區域。類似的文章有很多(其中一些
但這個方向至少在理論上應該涵蓋開頭列出的問題。
根據參數“牆壁顏色/地板顏色/物體形狀/物體顏色/等”進行影像分解。
根據「大小、眉毛、方向、膚色等」參數對臉部進行分解
其他
還有許多其他非全局性的領域可以讓您以某種方式減少資料庫、處理更多異質資料等。
注意。將其作為單獨的方法分離出來可能沒有意義。只是一種增強他人的方法。許多文章都是獻給他的(
3D模擬。如果你製作了一個好的3D引擎,通常可以用它覆蓋90%的訓練資料(我甚至看到一個例子,一個好的引擎幾乎涵蓋了99%的資料)。關於如何讓在 3D 引擎上訓練的網路使用真實資料工作(微調、風格遷移等),有很多想法和技巧。但往往製造一個好的引擎比收集數據困難幾個數量級。製造引擎時的範例:
機器人訓練(
訓練
在特斯拉進行培訓(同樣是上面的影片)。
發現
從某種意義上來說,整篇文章都是結論。我想傳達的主要信息可能是“免費贈品已經結束,神經元不再提供簡單的解決方案。”現在我們需要努力做出複雜的決定。或努力做複雜的科學研究。
總的來說,這個話題是有爭議的。也許讀者還有更有趣的例子?
來源: www.habr.com