國立交通大學 資訊科學與工程研究所

#討論 有深度學習的問題就來問或討論吧

3月1日 00:47
因為覺得無聊,所以決定來分享知識,萬一遇到不會的也可以跟大家討論。 接觸這領域也有四五年了,不要太偏門我應該都能提供協助。
45
回應 68
文章資訊
Logo
每週有 29 則貼文
共 68 則留言
佛光大學
高手,可以分享你對CV領域 膠囊網路(Capsule Network)的理解嗎? 我查了很多資源還是只停留在 他把傳統CNN的純量改成向量...
原 PO - 國立交通大學 資訊科學與工程研究所
B1 沒有沒有,我不是高手😂 沒想到第一題就這麼有挑戰性,我們教學相長。 Capsule Network 我也是很多年前看過,後續有些follow-up的工作我就沒有追了。就我的理解capsule network主要想解決的是Convolution Neural Networks (CNNs) 的缺陷。長久以來,大家都會假設CNN是scale-, rotation- or transformation-invariant,白話一點說就是不管你怎麼改變input,CNN都被假設認為會得出類似的輸出。事實上CNN對旋轉或是縮放甚至是位移都相當敏感,直覺的一點想法就是假設我們有一個 3x3 filter weights = [1 2 3 4 5 6 7 8 9],既然weight是固定的,怎麼對transformation不敏感?這導致CNN network需要很大量的資料跟冗余的參數去解決任務,而capsule network的目標就是希望學到如何正確地描述物體,例如數字的旋轉角度是多少,而不是背起經過旋轉後的數字。 Hinton提出的想法是希望最淺的網路可以學到一些最基礎的概念,雖著網路加深,深層的網路可以從基礎想法推廣進而得到更深層的概念。capsule則是負責實現這件事情,一個capsule由兩個東西組成:概念(向量)及強度(純量),所以capsule的表現會是一個向量(概念, 強度)。 那麼下個問題是,怎麼做才能讓當前這層網路延伸前一層學到的概念,進而學出新的概念呢?hinton提出的方法是dynamic routing。假設我們有capsule ci,hinton希望學出來的新概念vj(論文裡稱activity vector),要盡可能與某些概念ci相關,他這邊是用了有點像是k-means的想法去學一些權重,然後以權重做weighted sum得到vj。但這種做法有個風險是有可能所有的vj都學到一樣的概念,我猜這也是為什麼他最後還有reconstruction loss作為額外約束。 以上大概是我的理解,坦白講這我也不是專家,我也是臨時抱佛腳回頭喚起回憶😂 希望對你有幫助。
國立成功大學
B2 推推 好想跟大師聊一聊
原 PO - 國立交通大學 資訊科學與工程研究所
b3 大師不敢當,就聊聊天QQ
國立成功大學
B4 好奇CNN2d和CNN1d的差異
大同大學 資訊工程學系
DQN為什麼都不用深一點的? 之前被教授問說那這樣還叫deep嗎 怎麼解釋
原 PO - 國立交通大學 資訊科學與工程研究所
B4 如果你是指CNN with 1d or 2d filters。我的理解是這跟你對資料的認識有關,CNN最大的特點是shift-invariant。白話的翻譯是如果圖片裡有顆眼珠,那麼這顆眼珠在圖裡不論左上、右下、正中央,CNN都該給出一樣的輸出。合理吧?眼珠就是眼珠,放哪都是眼珠。所以1d, 2d, and 3d的差別就在於你對資料假設是什麼,例如:如果你知道你的目標只跟同個row相鄰的pixel有關,那就算你在image上用1d filter CNN也是合理。 B6 reinforcement learning就出我的守備範圍了,我印象中是會overfitting。但真的不確定😂 我只很多年前修過課,不是很熟悉這領域。但是有科學問題,可以實作測試就試著做做看,固定同個任務,用兩種不同深度的網路測一下就知道了。
國立成功大學
B7 感謝感謝~ 話說如果只是在local端測試code,主要運算交給cluster;MacBook m1 pro推薦嗎?
原 PO - 國立交通大學 資訊科學與工程研究所
B8 我還不知道m1出pro了,但我不建議。deep learning其實蠻坑有很多精度問題,我曾經看過有人用同樣的code用mac pro跟V100算出來結果不一樣跟不converge(V100 收斂但 mac 不收斂),甚至連NV不同卡(好像是1080ti vs. V100?)都有復現問題,所以如果情況許多我會建議都在NV devices上跑。而且m1是arm-based吧?感覺會有更多問題, dependceis說不定支援還沒有很好。
國立成功大學
B9 我也聽過這類型的問題⋯看來只能再觀望了~QAQ
國立臺灣大學
請問可以開個深度學習的LINE討論區嗎 匿名的那種 我也想跟原po大神還有大家交流交流
原 PO - 國立交通大學 資訊科學與工程研究所
b11 我不是大神,再叫我大神我要哭了喔。個人是傾向這裡聊一聊就算了,一來我是懶得在電腦裝line,二來是公開的地方感覺可以吸引到更多的高手或是新手。除非你有很私密的問題想問,像是個人生涯(這我有辦法答嗎?)或是私人project。
國立成功大學
微積分到底以學習AI來說重不重要?
原 PO - 國立交通大學 資訊科學與工程研究所
B13 古代AI方法我不是很懂,但現代ML世界的話,基本的你得懂,更高深的看領域。 基本來說,ml很大一部份是statistical model跟probability高度相關,起碼一些簡單的機率跟微積分式子你需要看懂。知道一下期望值積分跟empirical distribution的背後物理意義。如果你做應用的研究多的話(我也是偏應用),懂淺的在大部分時候就夠用了。 進階一點,如果想做出有影響力的研究/產品,數學就很重要。坦白講我數學也不是很好,要努力學習😢 隨便舉幾個例子variational autoencoder你該看的懂variational lower bound, generative adversarial networks你該看的懂為什麼會有mode collapse/gradient vanishing的問題, normalizing flow的原理, convergence analysis, information theory之類的,對很多問題來說微積分都是基礎而已。
國立東華大學
好奇問 樓主在哪工作 內容大概是啥 謝謝
原 PO - 國立交通大學 資訊科學與工程研究所
b15 我在國外唸博
國立成功大學
B16 強者! 話說⋯請問大大是做什麼題目?
國立成功大學
B14 瞭解了,所以是機率統計會用到部分的微積分就對了 有空來低卡數學板逛逛,雖然我都是窩在那邊欣賞各路神仙解題的
原 PO - 國立交通大學 資訊科學與工程研究所
b17 沒我廢物,我做的東西蠻雜的,之前做的東西大多是跟generative models有關。題目說出來,就有可能被認識的人認出來,我害羞。 b18 我都不知道原來dcard有數學版,謝謝你的推薦👍🏻👍🏻
淡江大學
請問樓主以您目前學了這麼多ML、DL 你覺得線性代數的哪些觀念會很常被用到? 那些只會出現在特定的任務? (像是SVD那種感覺常常出現,jordan form那種就沒看過)
原 PO - 國立交通大學 資訊科學與工程研究所
b20 體感覺得大概就是內積、垂直、投影這種簡單的概念。可能跟我的領域有關係(電腦視覺、生成模型),比如在要求disentangled representations,大部分時候垂直、內積為零就很好用了。另外一個問題是線代的技巧很多在神經網路裡太昂貴或是不可微分,例如你在訓練對features做SVD ,每個epoch裡你需要處理#batch次SVD,每個矩陣又是batch_size x #features那麼大,那訓練速度會被大幅拖垮。 但我認為長遠來說有扎實的數學基礎會是你脫穎而出的關鍵。因為我感覺,包括我在內深度學習的從業者大多沒有扎實的數學背景,整個領域目前的進展多來自"創意"跟架構調整(有時候就覺得深度學習讀起來就像離散數學或是演算法...還是去掉證明那種)。長遠來說這不是一件好事,很快就會碰到瓶頸。所以深度學習領域做得好的公司/研究者大多不是他本身對“深度學習”很厲害,而是他本來就有“某領域"專長,只是將那些知識套用到深度學習。回到線代,如果讓線代有用?我認為找到適合使用的場景跟利用適當的”假設“加速或協助任務會是關鍵。隨便舉個例,我能不能假設某個網路輸出的特徵具有jorndan normal form,然後再套入線代教我們的一些特性從而解決任務? 結論:我沒有用到很多,但學好以後肯定會用到的。 以上是我一個菜鳥對領域的淺見,可能有問題,前輩們請噴我但小力點。
國立臺灣大學
想問 大數據 與 ML/DL的差別在哪
原 PO - 國立交通大學 資訊科學與工程研究所
b22  大數據我覺得比較像是籠統概念,我不想說是buzzwords(講了會被打)但反正wiki給了些定義。基本精神就是你有超級多data(可能是非結構性的,可能看起來很雜亂無序,可能是multi-modality, e.g., sounds+images),然後我們想辦法從裡面學到一些有用資訊出來。 ML就是machine learning、機器學習,泛指所有透過觀察資料,總結成模型(model)的演算法,其特徵是模型中的知識是由資料自動學習出來的(相較於人寫的if-else)。 DL是deep learning、深度學習,是machine learning的一種,泛指所有需要透過back-propagation學習參數的模型,相較於傳統ML,特徵之一就是需要很大量的訓練樣本。
匿名
這則留言已被刪除
已經刪除的內容就像 Dcard 一樣,錯過是無法再相見的!
國立政治大學
哇 好心大大推推 既然你說你做視覺DL相關的 那我想問對於特斯拉 camera based 的自駕方案未來性如何 之前看過一篇文章 深度學習的視覺模型無法辨識鏡中的物體和鏡外的問題 他不看好特斯拉的自駕方案
原 PO - 國立交通大學 資訊科學與工程研究所
b25 這個問題其實很難說,除了tesla跟tesla的競爭者其他人說的可信度都不是很高,畢竟如果有人真正知道答案,那他自己去開公司賺就好了。首先感應器有兩個主流方法一個是光達 (lidar) 和 相機 (camera),兩者各有優缺點。 光達 優點:深度精度高,無視光源條件,即使黑夜雨天也能使用。 缺點:造價昂貴,解析度低。 相機 優點:便宜,解析度很高。 缺點:深度精度低,會被天候光線影響。 回到你的問題,現今的視覺模型確實對"反射"這件事情很脆弱,甚至可以被當作後門使用 (eccv'20 有篇論文就是以reflection作為backdoor attack)。然而我不覺得這是一個大問題,反射在這問題裡只是扮演了一種adversarial examples/perturbations(可以去google一下這是什麼),早就有許多工作在更廣義的out-of-distribution detection 任務中(意即如何偵測非正常的網路輸入)做出貢獻跟不斷提出新解法,我也相信這件事情某種程度上肯定可以緩解。而且反過來說,這件事情同樣可能發生在光達(或任何其他感應器)中,只是你清楚對相機而言是以反射這個形式存在,在光達任務中,這種異樣資料可能以不同形式存在。至於光線天候條件問題,我感覺這取決於人類期待自動駕駛做到什麼程度。如果是期望做到"不會犯錯的人類"的程度,那相機綽綽有餘了,畢竟下大雨或大晚上沒燈,我車也開不好。更不用說這種天候條件其實也有機會透過cv演算法去除 (見intel day-to-night translation and de-raining algorithm)。至於鏡外問題,我想沒有演算法可以處理"感知不到"的東西吧😢
國立中山大學
可以分享github account讓小弟學習ㄇ😳
原 PO - 國立交通大學 資訊科學與工程研究所
b27 這樣不就會被知道我是誰了嗎😂
淡江大學
B2 那個膠囊網路感覺很潮 可是從出現到現在 好像不太被很多有名的模型重用 是因為capsule有什麼無法克服的缺點嗎?
原 PO - 國立交通大學 資訊科學與工程研究所
b29 應該就是不好train又沒有killing application吧。就像如果沒有imagenet classification沒人會想用deep learning一樣。我這個人很簡單,方法跟我一樣簡單我才用。
國立臺灣大學
請問convex optimization對研究DL(電腦視覺)有什麼幫助嗎 這學期修課有點猶豫 不知道能否尋求一些建議 剛開始大概是在教convex set, convex function然後後面教一些最佳化解法等等
原 PO - 國立交通大學 資訊科學與工程研究所
b31 同我在b21的回答很類似,數學是種工具,你永遠不知道什麼時後會用到,但你如果不認識他,能用的時候你也察覺不了。就像是成績單這種東西你永遠不知道什麼時候會用到,但你不會想有一天無法更上一層樓是因為成績單不好看,所以你需要把成績顧好。 回到DL research事實上很多地方都用到convex optimization的概念。比如在很多理論的paper (icml, neurips),因為non-convex neural nets很難分析,很多時候都會假設成convex,然後證明起碼在convex problem上你的方法是有效的(有時候看起來有點弔詭,明明實際問題是non-convex,但總之大家是這樣子幹的)。在adversarial attack裡因為要求perturbation不能太大,有時候會用project gradient descent。又比如在某些極少數例子你想對l1 norm regularization求解的時候會用到proximal gradient descent。又比如svm dual problems, constrained optimization。又比如某些CV paper裡假設latent space是convex hull。又比如你可假設問題是convex,然後提出一些approximation優化你的演算法。 最後,就算你用不到,你懂了convex optimization,paper也寫起來會比較有質感😭 雖然對我來說學convex optimization很痛苦,學完也會很快忘光😂
國立中山大學
想請問一下在做Image Classification 使用深度模型(e.g. Resnet, Inception)的imagenet weight 做Transfer Learning的時候,後面額外接全連接層跟CNN的差異,實作上大部分看到的都是接全連結層,原因為何? 另外,在Fine Tune 上階段Transfer Learning中的model時,普遍上來說可以讓acc提高多少才算是好的架構呢?我在實作時有些dataset到了一個門檻怎麼調架構acc都不會有提升,此時能朝什麼方向進攻呢?(前處理除了normalization 可以怎麼變化)若大大知道相關文獻或資源可以分享嗎?感激不盡🙏
國立臺灣大學
B32 瞭解 那我可能再考慮一下 這串真優質!!感謝你
原 PO - 國立交通大學 資訊科學與工程研究所
b33 "實作上大部分看到的都是接全連結層,原因為何?",似乎不一定,以semantic segmentation (deeplab系列) 來說,通常會整體fine-tune,至於哪個會比較好我還真的不知道,但我猜測是跟你的training data量有關。如果量小,那你不fine-tune feature extractor就是等於你採信了imagenet 這種先備知識(prior knowledge),有可能泛化(generalization) 會比較好。如果你有看到相關文獻歡迎你跟我分享😂 "在Fine Tune 上階段Transfer Learning中的model時,普遍上來說可以讓acc提高多少才算是好的架構呢" 似乎也沒有標準答案,有些領域1, 2%就可以影響state-of-the-art,那麼即使提升一點也是很好的。 "前處理除了normalization 可以怎麼變化" 前處理通常就是normalization,但augmentation有蠻多不一樣的。不一樣的augmentation比較有名的有: mixup [1] for general purpose, cutmix [2] for images, and EDA [3] for text。動態決定強度跟類型的: PBA [4]; 直接做在latent space [5]。 其他還有一些奇技淫巧可以提升啦,比如對training data做一些filtering,去除outliers。拿目前最好的model parameters當初始化的值然後用小learning rate fine-tune。傳說SGD with momentum 是最好的方法但momentum要tune很久。中國人對這種事情特別有研究==
[1] Hongyi Zhang, Moustapha Cisse, Yann N. Dauphin, and David Lopez-Paz. Mixup: Beyond empir- ical risk minimization. In International Conference on Learning Representations, 2018. [2] Sangdoo Yun, Dongyoon Han, Seong Joon Oh, Sanghyuk Chun, Junsuk Choe, and Youngjoon Yoo. Cutmix: Regularization strategy to train strong classifiers with localizable features. arXiv preprint arXiv:1905.04899, 2019. [3] Jason Wei and Kai Zou. EDA: Easy data augmentation techniques for boosting performance on text classification tasks. In Proceedings of the 2019 Conference on Empirical Methods in Natural Lan- guage Processing and the 9th International Joint Conference on Natural Language Processing, pp. 6382–6388, 2019. [4] Daniel Ho, Eric Liang, Xi Chen, Ion Stoica, and Pieter Abbeel. Population based augmentation: Efficient learning of augmentation policy schedules. In Proceedings of the 36th International Conference on Machine Learning, volume 97 of Proceedings of Machine Learning Research, pp. 2731–2741, 2019. [5] Cheung, Tsz-Him, and Dit-Yan Yeung. "MODALS: MODALITY-AGNOSTIC AUTOMATED DATA AUGMENTATION IN THE LATENT SPACE."
國立中山大學
B35 感謝你的分享,學到了滿多有用的concept 另外我想到一個問題,不知大大是否有經驗,我在對影像資料使用Random Erasing的 agumentation方法反而降低performance,是因為我沒有把處理完的資料跟原始data合在一起訓練嗎? 我目前的想法是隨機遮罩有可能遮到重要特徵,應該會降低performance把?可是paper的實驗結果都是提升,不知道是在哪個環節出錯
原 PO - 國立交通大學 資訊科學與工程研究所
b36 不確定,但paper不一定永遠是對的 😢
匿名
這則留言已被本人刪除
已經刪除的內容就像 Dcard 一樣,錯過是無法再相見的!
國立高雄應用科技大學
你好阿 我想問一下 目前我是接觸了ml and dL一段時間 也完成我的碩論了 但還是想繼續精進這方面 想問可以如何精進呢 目前是都用GitHub 的程式碼去改成符合自己目的的樣子 但還是想要看看ml or dl 在職場或現實能幹嘛 有什麼推薦的嗎 感恩
原 PO - 國立交通大學 資訊科學與工程研究所
b39 我本身是研究人員,同學大多也在外商或一線豬屎屋從事AI開發,他們大多有公司給的題目,所以我不其實太清楚在一般職場還能有什麼應用。但如果讓我想的話,取決於你的領域,我會試著把需要人類決策的無技術性工作取代,比如瑕疵檢測、流量判斷、制式簡單但需要人類的判斷工作。 想精進的話,第一個英文要好、懂些簡單的數學,接著就是"問題導向"的去找論文看吧。現在領域進化太快,就算一線人員也無法說自己整握領域的發展,所以反過來先找到想解的問題(工作或職場上的痛點),接著從已發表的文獻找解法,如果找不到再自己想解法,平常就隨便看些自己覺得酷酷的東西就好。coding其實就像你說的平時找些東西練練手就好,畢竟我感覺現在好上手運用的東西coding不會太複雜,除非你專職做些獨一無二的產品。就... 先發現問題再說吧,AI只是工具。
海德堡大學
大師好🙇🏻‍♀️ 我是ML DL的超級超級新手,甚至也沒有資工背景就直接轉領域跳進去(我知道這樣不太好😅) 所以現在在努力彌補不足,目前有在旁聽某校的機器學習,想請問大師推薦先自學哪一門最重要的大學必修課(e.g. 線代、統計、演算法之類的),謝謝🙏
原 PO - 國立交通大學 資訊科學與工程研究所
b41 大概線代是最重要的,統計跟演算法(但這個找工作必備)似乎沒有用到那麼多,其他的建議你邊學ml邊看自己缺乏哪些數學知識再去補。 海德堡很漂亮,跟那邊的人也有合作,希望疫情結束後有機會可以再去走走。 轉領域也沒什麼好不好,就是要花多點時間,很開心看到一樣喜歡ML DL的人,加油。
想詢問大大 有什麼ML跟DL推薦的書或教材嗎 自己的狀況是目前只會call套件來解決問題 想說有沒有能夠有效增進自己能力的辦法~ 謝謝🙏
原 PO - 國立交通大學 資訊科學與工程研究所
b43 台灣的話去找找台大李宏毅跟林軒田老師他們開放式課程吧。書就兩本,一本機器學習聖經Pattern Recognition and Machine Learning 跟一本goodfellow的deep learning吧。如果想提升coding能力的話,我個人覺得復現論文是不錯的訓練,放在github上往往可以騙(x)到很多star,如果你要去業界找工作可能也有幫助吧。
淡江大學 外交與國際關係學系全英語學士班
新手弱弱一問 我們老師之前有介紹一個機器視覺的應用
請問這個事件中以機器視覺的角度作弊的那隊是怎麼設計作弊系統的? 我自己粗淺的想法是: 透過攝影機即時偷拍投手+捕手的影片 -> 經過某個訓練得很好的物件偵測(還是影像分類!?)模型 -> 快速得到output(預測對方投手要投的球種) -> 想辦法盡快讓場上的隊友知道
原 PO - 國立交通大學 資訊科學與工程研究所
b45 抱歉,現在才看到你的問題。 首先這個問題可能會是給定某個暗號,我想預測球種。問題在於我無法解析暗號。 我不太確定真實情況怎麼做的,但大概跟你想得很像,要我做的話我會先收集一堆暗號+投球的影片 (denoted as x),然後人工為每段影片標注球種 (denoted as y)。接著你就有一大堆訓練資料。接著就是監督式的訓練一個model m,使得觀察每到某個x的時候可以正確判斷出y=m(x)。儘管人類不知道暗號的意義,但很明顯暗號跟球種之間是有強烈關聯性的,這種時候機器學習很擅長學出隱藏的patterns。
B32 B34 小小補充 paper 不一定永遠都是對的 但是如果 paper 能流傳下來一定有它的意義 提供幾個有趣的 topic 去感受一下 convex optimization 這個經典的數學問題怎麼用在machine learning 的 (這裡先不討論 deep learning propagation 的問題) - 基礎的: Gaussian process Support vector machine Hidden markov models 三個非常古典但又非常 powerful 的 ML - 進階的: Variational Bayesian inference t-Stochastic neighbor embedding Global optimization in pre-training of neural networks
原 PO - 國立交通大學 資訊科學與工程研究所
b47 謝謝你的分享,Global optimization in pre-training of neural networks 我還沒看過,有時間再看一下。另外,你提到的方法除了SVM大多偏向probabilistic theory,但確實都是一些經典的ML問題,尤其是variational bayesian inference跟t-sne在DL時代還是很常用到的工具。
國立臺灣大學
B48 專題遇到瓶頸 想要請教一下您的想法可以嗎 task是這樣的 工廠在生產產品的時候品質有好有壞 所以希望能透過監測到的訊號(生產時產生的signal)來預測產品的品質 但是因為監測到的waveform有一些隨機性 所以希望透過機器學習來做 廠商有給waveform跟對應的label 請問您看到這題目會想先怎麼做?
B49 提供一點簡單的想法,剩下交給專業的。 以做實驗來說(比方說我的本業光學),通常你的 x 軸是實驗條件 (可能是不同時間、或是不同參數),你的 y 軸是得到的訊號 (可能是 value,也可以是 array of value)。 而我們在實驗上所謂的訊號隨機性,其實就是 error,大致分為兩種:1) white noise、2) systematic error。 其中 white noise 比較有可能是你所謂的隨機性,是實驗/統計上自然的機率特性,在相同實驗條件上 (fix 在 x 軸上某個點),你通常一定會得到一組 Gaussian distributed 觀測值 (量很多次),而這個其實用我上面提到的 Gaussian process 就能很好解決了(我自己也很常用),並且它附帶的 ARD 性質也方便你做 model selection,原理請洽 Bishop - Pattern Recognition Sec 6.4,或是你想直接 call package 也可以:
而 systematic error 主要來自於系統設計本身,實驗被設計完成後就會存在的,我自己是 case by case 地解決,所暫時沒辦法給你實際的想法。