數學專業可以學習人工智能深度學習嗎?
先來給你說說數學專業本科生學的課程吧(如果是研究生都是估計直接沖,不會問這樣的問題),數學分析、高等代數、解析幾何、C/C++、概率論與數理統計、運籌學、離散數學、數據結構、數據庫原理、復變函數、數值分析、算法設計及分析……
再來對比一下計算機專業學生的課程,C、離散數學、數據結構、java、數據庫原理、EDA、概率論與數理統計、計算機網絡、數值分析、計算機組成原理、操作系統……
不同學校同一個專業的課程也會不一樣,但基本上都會有這些。目前人工智能火熱,有些學校也會將機器學習等課程加入到本科生課程中。
人工智能涉及的范圍很廣,最為火熱的莫過于深度學習,那么這里就認為指數學專業學生可不可以學深度學習。
其實從上面的課程設置來看,跟深度學習相關的就那么兩樣:數學、編程~
先說數學,數學專業學生在數學這方面占極大優勢,比如生成對抗網絡(神經網絡的一種,一種深度學習方法)的生成模型和對抗模型就來自概率論與數理統計方面的知識,雖然兩個專業都有學這門課,但課時是不同的,即數學專業的學生在課程要求上會更深入一點。
再說編程,現在深度學習幾乎都是用python了吧,當然深度學習領域也有大神們還在寫C/C++和cuda,但這樣寫是真的累skr人,且大部分人都沒學過怎么用cuda。在編程方面計算機專業的學生會略占優勢,因為就計算機思維來說是數學專業學生遠比不上的,相對來說掌握python以及深pytorch、tensorflow這些度學習框架會更快點。
如果僅僅是調參,那么python掌握熟悉,熟悉一下深度學習框架,下載幾個預訓練模型套上數據即可,僅僅要求需要一定編程模型。但是在具體的實踐中,完全一樣的神經網絡模型(深度學習方法)可能效果并不好,這就要求需要對神經網絡有一定的了解,比如激活函數的效果,卷積池化的作用,根據這些來修改以達到良好的效果,然而激活函數、卷積池化這些其實全都是數學上來的,不見得多高深但是至少得會。
上圖表示一個卷積操作,其數學表達式為:
相對其他專業來說,數學專業和計算機專業的學生是很有優勢的了。做一些應用的話計算機專業的學生短期內會更有優勢,比如用已有的神經網絡模型完成一些圖像識別、文本情歌分析,但是從長遠來看,數學專業學生是更有優勢的,因為在硬件條件固定的情況下,要想深度學習效果更好只有在理論上做到更有優,所以你可以看到SOTA網絡(指該算法(模型)的性能在當前是最優)的數學理論越來越復雜。。。
如果打算走下去了,就開始學吧……