日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

动力学建模平台

發布時間:2023/12/9 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 动力学建模平台 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

動力學建模平臺介紹

  • 定位與背景
    • 定位
    • 背景
    • 方法論
    • 基于動力學+概率統計學的認知框架
    • 項目進展
    • 總結

定位與背景

定位

由于世界上幾乎所有問題都可以理解成動力學問題,本項目為研究動力學問題的通用平臺。 提供動力學問題建模分析方案,及相應通用基礎組件, 讓我們在面對一個動力學問題時有一定的指導方向及參考方案

背景

基于本人自2013年至今所從事過的人工智能各應用領域的研究實踐經驗,闡述該項目的意義與由來。下文主要舉推薦系統和量化交易兩個具體的應用場景為例,雖然機器視覺,自然語言處理, 以及一些軍事問題我也有所涉及,因為研究的時間不多,所以不做過多闡述,但是下文所訴的的觀點是從這些所有領域總結出來的,具有一般性。(注意,本項目關注的問題是:當我們面對一個完全陌生的真實世界的動力學系統系統,且沒有太多成熟方案可以參考時,如:量化交易, 我們如何更加高效地一步步去認知,分析,建模系統,并產生把控該系統的一整套方案。所以這是一個立足于方法論層面而誕生的項目,而不是要將各領域最先進的成熟算法方案組織起來的項目。):

  • 推薦系統領域:

    1、 雖然學術界已出現一些使用深度學習對動態推薦問題建模的論文,但在本人所接觸企業工作環境中,目前大部分推薦系統模型仍為靜態模型(其中的原因,也許在看完下文后你能有所感受),它們不能刻畫系統內部的動態變化過程。
    2、目前我們所使用的最高效的實時算法主要是基于人為理解的動態規則或者將這些規則嵌入到模型中,舉幾個我工作中涉及實時推薦算法為例,(如實時興趣,即基于規則用戶點了A,應該要推與A相似的item; 如帶有實時機制的深度學習召回算法, 即基于規則: 用戶當前行為的item所表達的興趣應該賦予特殊的權重,并與長期行為所表達的興趣線性融合,由數據來學習線性融合的權重參數), 但是我們需要挖掘系統內部更加深層的狀態變化, 如每個用戶的興趣漂移能力,興趣突變能力, 興趣收斂能力,周期性等等,只有更好的建模系統內部的狀態變化,才能更好地進行分析與預測;
    3、解決上述問題有這個截然不同的方向,(1)依賴人為的認知理解,巧妙地設計并堆積足夠大量的規則條件公式來處理每一種動態現象,理論上可以處理任何人類能夠認知理解到的系統內部的動態問題,但是數據難以指導這套規則的生成。(2)使用一系列建模動態問題的深度學習模型對數據進行擬合,理論上可以學到系統內部狀態變化,但是模型的可解釋較差,我們較難在模型內部找到對應可解釋性的具有物理意義的狀態變量,像上文所述的將人為理解的規則嵌入到模型中的實時深度學習召回,并不能總是能巧妙地找到完美的姿勢做到,特別是當人所理解的動態問題足夠復雜和隱蔽的時候。最后我們多數走向的道路就是借鑒各種先進的論文將模型結構搞得足夠復雜,引入各種結構,這些結構看起來有些道理但又很難將結構中的變量與實際問題中人為理解到的隱變量明確對應起來。我們希望于通過大數據和算力,讓結構中的某個變量可以學到我們理解的隱變量,但我們不知道它到底具體在模型的哪里,這導致我們無法基于這些具有物理意義的狀態變量進行其他分析,同時我們甚至無法確定最后推薦效果的提升是因為我們學到了我們想要的系統內部具有物理意義的狀態變量還是僅僅是因為模型的容量提升或者其它什么原因導致;

  • 量化交易:
    量化交易是我接觸時間最長的領域,我幾乎嘗試了所有常見和不常見的機器學習算法,但卻收益甚微,其難度與我所接觸過的所有領域都不是一個級別的。原因:1、量化交易是對社會群體聯動現象的研究,不像機器視覺或者推薦系統是對個體視覺系統和個體行為喜好的研究, 對個體系統我們更加熟悉, 比如我們清楚我們的喜好大概是怎樣的過程,我們知道我們的視覺觀察過程大概是怎么樣的,因為我們長期使用它。但對于群體聯動的系統,我們很難全方位地感受它; 2、量化交易領域沒人會告訴你怎么做,也沒有什么主流方案。起初我也會指望利用最牛逼的深度學習模型,將數據導入從而模型能自動為我學到盈利方案,但我很快就發現,這樣的想法簡直是癡人說夢,我不是否定深度學習在量化交易中的作用,只是說這種由近年來深度學習給初學者帶來的看似對所有問題都能一步到位的美好愿望是一個巨大的騙局,如果沒有人類長年對機器視覺的一步步研究和認知,又怎會有CNN的結構,CNN最初是建立在人類對圖像局部自相似性及層次性的認知的基礎上設計出來的,而CNN之所以能遷移到其它個別領域,只是剛好這些領域與視覺系統的內在本質存在一定的共通之處。所以一步步去研究和認知未知問題的過程才是關鍵,深度學習只是對各種形式數據的更加靈活、友好的處理工具,而要設計網絡的輸入輸出、設計獨特的網絡結構來解決眼下的問題,關鍵還是對問題的內在本質的認知,而這是深度學習無法給你的,相反,是你要告訴深度學習的。 那么當你初次接觸量化交易時,看到的只有陌生的胡亂跳動的多維數據,在這種兩眼一抹黑的情況下,我們要根據什么去一步步觀察,認知,假設,驗證,建模,解決問題,并重復優化改進這個過程中的每個環節。這是本項目最為關心的問題。

  • 總結
    因此,我會從方法論層面出發,觀察總結人類面對未知問題時的研究方式,從而抽象出人類科學地研究事物的一般流程,并細化其中的每個環節;最后我們基于在方法論層面的思考,對每個環節設計相應的程序模塊去輔助我們研究陌生問題,并構建各模塊間的關系,即對應著人類研究問題流程中每個環節的關系。

  • 方法論

  • 認知世界的過程
    首先我們思考一個科學研究工作者認知世界的過程,我建它總結為以下流程圖:

  • 可以看出,在這個認知過程中,形成一個抽象統一的認知框架至關重要。試想一下,一個剛剛誕生的人類,起初他的腦中沒有任何對世界的認知,當面對一個陌生問題時,他能做的就是觀察,猜想,驗證,最后抽象出一個與具體問題無關的對現象和相應內在本質建模的一般表述。這樣的表述就成為了抽象認知框架中的一部分認知,當他遇到新的問題時,會優先從已有的認知框架里尋找是否有可以適應于運用新問題的(即“知識遷移”),若沒有,則會重復之前的過程,得到一個新的抽象認知從而加入到認知框架下。抽象統一的認知框架與問題間的關系如下圖:

    而一個人對世界的認知效率,取決于這個抽象的認知框架是什么樣的,最簡單的認知框架可以是填鴨式地將各種認知堆砌在一起,但這樣簡單的架構的認知框架效率并不高,所以會有一些人看過很多書,學習了很多技能,也有一定的思考,并形成抽象的認知,但這一大堆來自不同領域的認知卻只能局限在它所誕生的領域或一些的周邊領域進行遷移,當遇到一些陌生問題且沒有可學習的現有理論的情況下,他們往往束手無策。原因就在于他們沒有專注于去打造一個好的認知框架。
    一個好的認知框架會告訴你,來著不同領域的認識如何組織在一起,如何抽象,要抽象成什么樣才允許進入到認知框架中,如何高效地遷移已有的認知,如何挖掘新的認知。

  • 基于動力學系統的認知框架

    這里需要說明的是,每個都可以有自己的認知框架,而我選擇立足于動力學理論建立認知框架,原因有以下幾點:(1)世界上絕大部分問題的本質都可以歸結為動力學系統(除了量子力學領域),靜態問題只是動力學系統的一種特殊情況 (2)動力學系統理論的研究歷史悠久,理論框架成熟,有很多研究成果可以使用 (3)可以很好地與概率統計學相結合,很適合表達世界的確定性與不確定性。
    基于動力學系統的認知框架需要做以下幾件事:(1)使用動力學系統理論的語言來描述刻畫認知,并組織它們之間的關系;(2)從動力學和概率統計學的角度出發,提供挖掘具體問題的內在動力學規律的一般方法。

  • 基于動力學+概率統計學的認知框架

    針對(1)使用動力學系統理論的語言來描述刻畫認知,并組織它們之間的關系, 這是根植在我們腦中并反映在整個實踐研究過程中,但需要使用者學習了解一定的動力學系統理論。
    針對(2)從動力學和概率統計學的角度出發,提供挖掘具體問題的內在動力學規律的一般方法。我們可以建立組織一個項目平臺,用于輔助人類挖掘內在動力學規律,稱為動力學建模平臺,平臺所涵蓋的內容大致如下(注意,理解這幾個模塊間的關系是重點):


    動力學建模平臺大概包含上圖內容,主要包含5個部分:

    1、 統計量設計模塊:
    在觀察并猜想到某種動態規律時,我們最常做的第一件事就是設計統計量去大致表達我們所想表達的隱變量。然后統計挖掘這些表達隱變量的統計量與關心的目標之間的關系。這是我們初步驗證猜想是否存在的方式。這種反向設計統計量的方式,注定統計量的函數形式不能太復雜,且是一種對我們所猜想的動力學生成機制的一種簡化后的反向設計。舉個拋硬幣的例子,每次拋硬幣都按照某個概率,我們要挖掘背后的這個概率,一般會用(正面的次數/總次數)這個統計量來表示,這是一個被證明過的無偏統計量。如果這個概率受到另一個周期性變化的隱變量控制且不知道周期是多少時,我們要設計統計量來表達著兩個隱變量就變得復雜許多,如果我們進一步在生成機制上增加假設,那么要設計統計量來完全表達整個生成機制中的隱變量會變得越來越難。所以統計量是一種對我們所猜想的動力學生成機制的一種簡化后的反向設計。
    另一個問題是當我們設計統計量時,很多情況下會遇到一種情況“我能感受到某種現象,甚至能用自然語言大致描述出來,但是我卻無法用數學形式表達,導致計算機難以處理”。導致這種現象的原因是我們沒有一種指導動力學特征生成的方案。因此在統計量設計模塊中我們重點設計三個部分來作為動力學特征生成方案:(1)常見通用統計量庫:這部分只是堆積一些常見統計量,能用就用;(2)計算動詞特征庫:這部分是對自然語言中的動詞進行動力學建模的動詞庫,因為人類自然語言是一個可以表達幾乎人類所有認知的語言,當你表述 “當A正在加速,B正在趨近于A,則C會快速遠離B” 這樣一系列由動詞表達的語言,我們可以使用計算動詞庫直接建這些語言表述的認知數量化建模。當然這只是計算動詞理論冰山一角的應用(計算動詞理論詳細內容請參考前廈門大學楊濤教授的《計算動詞理論與應用》及相關研究論文);(3)動力學特征庫:這里是指長期以來人類研究動力學系統的一些特征量,比如李雅普諾夫指數等
    2、 相關性分析工具+經典判別模型庫:
    在設計出能夠表達隱變量的統計量后,我們可以使用各種統計分析工具和一些經典判別模型去分析挖掘這些統計量和目標之間的關系。
    3、 動力學機制生成模型庫:
    如前所述,基于統計量設計的模型,其一般是對猜想的動力學生成機制簡化。隨著研究的深入,我們勢必會基于隨機過程和動力學方程,去直接設計所假設的動力學生成機制的概率模型,通過數據的導入來確定模型內部的待定參數,如最常見的隱馬爾可夫模型。因為這些一個正向設計的過程,只要你對隨機過程和動力學方程有一定的理解,設計所猜想的動力學機制對應的數據生成模型會比反向設計統計量容易且直觀一些。這里有三個部分:(1)針對不同動力學問題的生成模型 ; (2)生成模型的概率推理通用組件,當我們需要設計針對新的動力學問題的生成模型時,如果在概率推理過程中有一些通用組件,將會加快模型的開發; (3)模型內部變量的可視化,因為在生成模型中,每個變量都具有明確的物理意義,因此可視化分析十分重要。
    4、 動力學機制深度學習庫:
    在動力學機制生成模型庫里,我們已經猜想了動力學系統內部的數據生成機制,并對這種機制建模。相當于動力學生成機制內部的變量關系是人為指定的,數據只是確定這些關系中的參數。但如果我們對其生成機制無法感知或者我們希望找到我們未能發現的動力學機制的一些細節。這時我們希望將動力學生成機制的確定過程逐步由人腦驅動轉向數據驅動,這時深度學習是一個好的選擇,但注意這是應該一個“逐步”的過程,而不要指望一口氣搭建一個足夠復雜足夠深的網絡能解決問題,應該是逐步將人為理解的機制交于神經網絡,比如我們相信股票運行過程中包含波動率這個隱變量,并且這個隱變量影響行情走勢,那我們應該想辦法在神經網絡里設置相應的結構去表達波動率,以及波動率和走勢的關系,而神經網絡在波動率表達的過程中提過了更加廣闊的函數搜索空間,通過數據去學到最佳的函數形式,因為在動力學生成模型里,波動率的函數形式是人為指定的。所以這是一個逐步過渡的過程。
    5、偏微分方程庫:
    人腦的計算機制,或者說大自然的計算機制,毫無疑問都是偏微分方程,人工智能最終的方向一定是用偏微分方程建模,只是如今受限于算力和理論發展,時代還未到來,這里只是先占個坑。

    項目進展

    1、統計量設計模塊: (1)通用實時特征計算平臺(QLab)初步開發完成,用于通過配置化開發復雜邏輯特征計算流程,并管理各種特征庫。(2)計算動詞庫:開發中 (3)通用特征庫:累計豐富中,目前組要涵蓋量化交易中一些常見特征

    其它三部分為模型相關部分:整理好后再補充

    針對應用場景外掛的平臺:
    量化交易:Vnpy量化交易引擎,github上的開源項目
    推薦系統: 實時推薦框架

    總結

    這是一個輔助認知科學探索的項目,當然它需要有應用場景來支持他存在的意義。我們的項目核心觀念是“構建人類認知流程,探索各種人類認知模式,其中涉及的模型算法只是作為這套認識體系對外的一種表述”

    總結

    以上是生活随笔為你收集整理的动力学建模平台的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。