ICLR是International Conference on Learning Representations的簡稱,是機器學習和深度學習研究界最著名的會議之一。ICLR 2020最初計劃在衣索比亞的阿迪斯阿貝巴舉行,但由於最近COVID-19在全世界掀起,會議改成用完全虛擬的方式進行。雖然活動改為線上舉行,但完全在線的會議也讓初出茅廬的研究人員和機器學習愛好者能夠一起參與。在本文中,我將分享我在ICLR 2020獲得的主要收穫。我還將分享一個基於數據的調查(我個人承擔的),來發現研究社區中首選的工具,特別是用於尖端深度學習研究的工具,即PyTorch和TensorFlow。ICLR 2020的主要內容首先,這是ICLR 2020網站的連結,以及組織者共享的關鍵數字摘要:https://iclr.cc/Conferences/20201. 完全虛擬的會議結構ICLR2020於4月26日至5月1日舉行,是一次完全虛擬的會議。參與者、演示者和組織者的所有互動都是通過他們的網站在線進行的。第一天由非常有趣的研討會組成,接下來的每一天都有主題演講、書面報告/海報會議和交流/博覽會等等。每一天都充滿了活力!會議總共接受了650多篇研究論文,每一篇論文都包括一個5分鐘的視頻演示和作者對論文本身的現場問答(在時間表中用綠色標記)。這段演示視頻可以說是論文的亮點,作者在其中介紹了他們的方法和主要發現。這些視頻大多是自定義進度的,而現場問答環節則是根據參會者的不同時區組織的,組織這個環節需要考慮得非常周到,這需要付出很多的努力。會議上也有主題演講(用藍色標記),有像Yoshua Bengio和Yann LeCun這樣有影響力的研究人員參加;還有來自行業巨頭甚至領先的人工智慧初創公司的博覽會。請注意主題演講的具體時間安排,這些時間安排在特定的時間,以便儘可能多地容納來自不同時區的人。ICLR在會議上採取了一種非常吸引人的做法。組織了許多社交活動(又稱視頻會議),你可以參加與你感興趣的主題相關的社交活動。此外,根據需求,某些主題也可以進行多次課程。例如,強化學習有10個平行的課程在同時進行,因為它是一個非常流行的領域。此外,對於初學者和導師也有不同的渠道可以進行學習交流。在這些會議中,無論是通過聊天還是視頻會議,你都可以在沒有任何特定預定議程的情況下進行互動和討論。例如,在指導會議上,你可以問一個有經驗的研究員在XYZ領域做研究是什麼感覺,他/她非常樂意回答!另一個令人印象深刻的、有趣的、新穎的部分是ICLR Town。你可以把它想像成一個虛擬實境的會議,在虛擬實境的背景下進行討論——比如海灘,戶外等等。最棒的部分是什麼?馬裡奧竟然化身為用戶在一個會議上!現在我們在一個海灘派對上! pic.twitter.com/ODeXLYRsr8 — Shagun Sodhani (@shagunsodhani) April 28, 2020
https://twitter.com/shagunsodhani/status/1255272003982016512?ref_src=twsrc%5Etfw
ICLR Town席捲了Twitter,因此在與會者中非常受歡迎。毋庸置疑,即將到來的會議組織者將充分利用這次全虛擬會議的大部分關鍵學習成果。2. 來自研究界的知名人士和業內知名贊助商作為人工智慧和深度學習領域中首屈一指的研究會議,ICLR一直吸引著這一領域的領軍人物和思想領袖,今年也不例外。儘管受到新冠病毒的封鎖限制,整個會議都在網上進行,但還是有非常著名的發言者出席會議:and many more influencers這張令人印象深刻的榜單突出了每年ICLR的標準設置以及贊助商展位上展示的研究水平。3. 開放評審——一個開放的同行評審過程,以促進科學交流的開放性現在想請大家注意ICLR2020的一個關鍵方面是公開審查。我們非常熟悉研究會議在通常情況下的審查過程,這些評審是封閉式的,因此,評審缺乏透明度一直是研究者爭論的焦點。ICLR遵循開放式審查流程,在該流程中,可以公開在線閱讀論文,你可以對此發表評論並查看其他研究人員的評論。這一同行評審過程受到好評,我希望這為今後的其他會議以及在研究界引入透明度創造了一個風向標。4. 研究人員探索最多的話題——深度學習深度學習現在是一個熱門話題,而ICLR2020正好鞏固了這一概念。有一項非官方的調查發現了研究人員探索最多的話題,以下是他們的結論:可以看出,涵蓋最多的主題包括
以監督和非監督方式應用的深度學習、強化學習和表徵學習。其他重要議題包括監督注意機制和生成性對抗網絡。就領域而言,儘管遊戲和數值優化等話題也有許多人討論,
計算機視覺和自然語言處理(NLP)仍然是最流行的話題。從這次會議中學到的東西太多了。這條推特完美地概括了這一思想:累!真不敢相信我一天學了這麼多!感謝主辦方和這一令人振奮的虛擬形式(https://twitter.com/hashtag/ICLR2020?src=hash&ref_src=twsrc%5Etfw) -Servando(@vandotorres)2020年4月26日
5. 簡單易用的網站界面作為一個完全虛擬和在線的會議,我特別想為與會者和志願者強調會議的網站界面。會議很容易訪問,網站也很容易使用,我們可以不費吹灰之力地搜索和研究這些論文,而且還有許多其他的特性可以充分利用本文的研究成果。我特別喜歡會議網頁上所有論文/海報的單一可視化功能——基於主題相似性的散點圖易於理解,並使搜索研究論文更加容易:
我真的很喜歡新的ICLR2020網站,也很喜歡瀏覽研討會和海報講座。恭喜組織者和演講者在這個全虛擬的會議上所付出的一切!幹得好!@srush_nlp @shakir_za @kchonyc @dawnsongtweets @syhw et al. pic.twitter.com/e4e5MfYh6W ——Andrew Ng(@Andrew Ng)2020年4月27日
除了網站之外,使用的直播視頻和幻燈片都是通過SlidesLive託管的,而Zoom則用於問答環節。聊天界面為RocketChat,贊助商展位由6Connex主辦。最後,想與大家分享一些有趣的資源,讓大家了解到2020年的ICLR是如何組織有序和全面的:大多數研究論文的視頻和幻燈片都是幻燈片直播,公眾可以觀看https://slideslive.com/iclr-2020輔導渠道對研究生特別有用,經驗豐富的研究人員對其問題的回答彙編在一份文件中:https://docs.google.com/document/d/1ETt6hqZAL90Cl45Hgv4S7mEJv95odG424oaDm42OH2Q/edit跨研究領域使用的流行開源工具的非全面列表:10分鐘內使用10個開源工具https://docs.google.com/presentation/d/1qxNqPAHmoUvQNOghabTOz7Un6JkVveZEl-l_vhR5KXI/edit瀏覽推文的方法:https://twitter.com/search?q=%23ICLR2020ICLR 2020首選工具的案例研究——Pytorch還是TensorFlow?現在給你簡要介紹一下背景,這個想法是在一個關於「開放源碼工具和實踐在最先進的深度學習研究中」的非正式會議的討論中提出的。最初的問題是:
「ICLR的研究人員更喜歡哪種工具——Pythorch還是TensorFlow?」「研究人員在ICLR2020上共享了與深度學習研究相關的代碼,他們使用了哪些開源工具?從這一點出發,我們能否對哪些工具在將來是否能成為主流,並且可能會在某種程度上被業界採用做出合理的猜測?」一個典型的問題是,那些
開始學習深度學習的人,不管是有經驗的行業專家還是剛剛入門的學生問我,我應該從哪個深度學習庫開始學習?即使現在,我的建議還是從簡單易用的高級庫(如Keras或Fastai)開始,而了解研究社區使用工具的趨勢是更有助於學習的一般來說,
該行業正在追趕領先研究實驗室的前沿研究,從跟蹤研究論文中發表的想法到使這些想法的實施變得更加友好,了解哪些工具可以真正幫助創建這些實現是很重要的此外,
ICLR是了解前沿研究的最佳場所。它擁有一個成熟的研究社區,是機器學習和深度學習領域最著名的頂級會議之一主要調查結果摘要我將在這裡快速總結我的發現,然後我將帶你瀏覽我用來獲得這些發現的代碼。對於那些不耐煩的人來說,這裡有到代碼和數據的連結,你可以使用這些連結自己探索。https://github.com/faizankshaikh/AV_Article_Codes/blob/master/Case_study_preferred_tools_ICLR2020/original_code/Case_study_preferred_tools_ICLR2020.ipynbhttps://cdn.analyticsvidhya.com/wp-content/uploads/2020/05/all_tools.csv1. 深度學習的主要工具在我能成功解析的237個研究人員共享的代碼中,154個使用PyTorch實現,而TensorFlow為95個,Keras為23個。這清楚地說明,儘管TensorFlow並不落後,但Pythorch正越來越被研究界所接受。部分研究人員仍然在他們的代碼中使用Keras,但這個數字相當少,這可能是因為就靈活性而言,PyTorch和TensorFlow相對來說具有更大的靈活性。注意:你可以在這裡開始學習PyTorch的所有知識。https://www.analyticsvidhya.com/blog/2019/09/introduction-to-pytorch-from-scratch此外,值得一提的是,HuggingFace的Transformers、OpenAI的Gym framework或networkX等工具已經被證明在各自的領域(如NLP、強化學習和圖形網絡)非常有用,正被社區所接受。除此之外,TensorBoard也被認為是一種可視化深層神經網絡訓練的標準:2. 整體首選工具2.1 前十大工具/包的使用在這裡,我們可以看到通常的數據科學/機器學習工具,如NumPy、SciPy、matplotlib、Pandas和scikit_learn,研究人員越來越多地使用tqdm和torchvision等新興工具。2.2百強工具詞雲在這裡,我們可以將研究人員使用的相關工具或軟體包可視化為詞雲。看起來很酷!案例研究背後的方法對於那些有興趣知道我是如何得出這些發現的人,我現在將描述我遵循的步驟,並詳細解釋可以用來重現這些步驟的代碼。注意,我使用Google Colab來實現,因為它預裝了大多數數據科學庫。如果你不知道如何使用Colab,可以參考本指南。https://www.analyticsvidhya.com/blog/2020/03/google-colab-machine-learning-deep-learning如果希望使用自己的計算機,則必須使用以下庫設置系統:通常在Anaconda發行版中找到的數據科學工具/軟體包,例如NumPy,Pandas,matplotlibhttps://www.analyticsvidhya.com/blog/2019/08/everything-know-about-setting-up-python-windows-linux-and-mac/https://openreview-py.readthedocs.io/en/latest/how_to_setup.htmlhttps://github.com/bndr/pipreqshttps://www.analyticsvidhya.com/blog/2020/05/key-takeaways-iclr-2020/代碼演練從適用於ICLR 2020的OpenReview API獲取代碼連結根據requirements.txt,找到所有使用的工具並創建一個數據文件步驟1 設置系統我們要做的第一件事是在Colab中安裝庫,即OpenReview API和pipreqs:
!pip install openreview-py!pip install pipreqs之後,我們將導入將在notebook中使用的所有必需的庫/包:%matplotlib inline
import osimport reimport sysimport requestsimport openreviewimport pandas as pdimport matplotlib.pyplot as plt
from random import choicefrom wordcloud import WordCloudfrom urllib.parse import urlparse
步驟2到4 數據創建從適用於ICLR 2020的OpenReview API獲取代碼連結根據requirements.txt,找到所有使用的工具並創建一個數據文件總而言之,就數量而言,會議共接受了687篇論文,其中344位研究人員分享了他們對相應論文的實現。其中有268個是我主要關注的GitHub存儲庫。在這268個存儲庫中,我可以根據它們的requirements.txt文件成功地解析237個GitHub存儲庫,並基於requirements.txt總結了所使用的工具。運行代碼後,我們得到一個名為「all_tools.csv」的文件。如果你想跟著我做此分析,可以從此連結下載數據文件。https://cdn.analyticsvidhya.com/wp-content/uploads/2020/05/all_tools.csv步驟5 使用數據分析以查找工具使用情況多少研究論文使用了特定工具,例如PyTorch或TensorFlow?all_tools = pd.read_csv("all_tools.csv")運行此命令,輸出結果將為(237,2),指定我們有237行,即我們正在分析237個GitHub存儲庫。
現在,讓我們清理數據。下面是這個代碼塊的大致偽代碼:對於「all_tool_names」列中的每一行:我們在正則表達式「^\w+」的基礎上執行clean,該表達式將工具的名稱與字符串的其餘部分分開在此之後,我們再次從這些工具名稱列表中創建一個字符串,並且,def cleaner(tool_list): cleaned_list = "" try: cleaned_list = [] for tool in tool_list: cleaned_tool = re.findall("^\w+", tool) if not cleaned_tool: pass else: cleaned_list.append(cleaned_tool[0]) cleaned_list = ",".join(cleaned_list) return cleaned_list except: tool_list = ",".join(tool_list) "unclean_list".join(tool_list) return tool_list
all_tools["all_tool_names_cleaned"] = all_tools.all_tool_names.str.split(",").apply( cleaner)clean後,如果再次列印所有工具數據幀的頭部,將得到如下輸出:
現在,讓我們看看有多少存儲庫包含PyTorch。我們可以使用Pandas的str.contains函數來查找:
all_tools.all_tool_names_cleaned.str.contains("torch").sum()這給了我們一個數154,它告訴我們總共有154個存儲庫以某種方式使用PyTorch。
讓我們編寫一個形式化的函數,我們可以使用它為其他工具複製:def give_score(tool_name, offset=0): num = all_tools.all_tool_names_cleaned.str.contains(tool_name).sum() num += offset print( "Count of {} is {} and total usage is {}%".format( tool_name, num, round((num / (all_tools.shape[0]+offset)) * 100, 4) ) )注意,我們使用了一個offset變量來添加計數。我們這樣做是為了使函數足夠靈活,可以添加尚未解析的存儲庫,但我們可以假設該存儲庫中存在特定工具的可能性很高。讓我們為三個特定的深度學習工具運行此函數,即PyTorch、TensorFlow和Keras:give_score("torch")print()give_score("tensorflow", offset=12)print()give_score("keras")這清楚地表明,與TensorFlow或Keras相比,PyTorch在研究界相當受歡迎。在這裡,你可以看到我對TensorFlow使用了12的偏移量,這是因為有一些實例GitHub存儲庫沒有被解析,但是它們來自Google research GitHub用戶名或TensorFlow的原始存儲庫,這清楚地表明它們可能是基於TensorFlow構建的。對於不同的工具/包/框架,你可以遵循類似的步驟。在這裡,我為 HuggingFace的Transformers, TensorBoard, OpenAI’s Gym和networkX做了這些:all_tools.all_tool_names_cleaned.str.split(",", expand=True).stack().value_counts()[:50]這段代碼的輸出為(687,)表示總共使用了687個工具。
不出所料,大多數存儲庫使用通用的數據科學工具/庫,如NumPy、SciPy、matplotlib和Pandas。為此,我們可以使用條形圖或詞雲。下面的代碼用於創建條形圖:all_tools.all_tool_names_cleaned.str.split(",", expand=True).stack().value_counts()[ :10].plot(kind="bar")all_tool_string = ",".join(all_tools.all_tool_names_cleaned)
wordcloud = WordCloud(background_color="white", max_words=100)wordcloud.generate(all_tool_string)
plt.figure(figsize=(10, 20))plt.imshow(wordcloud)plt.axis("off")plt.show()為了節省時間,這是我所做的數據探索的範圍。我們也許可以做的不止這些,我在下一節中提到了一些可以探索的想法。關於ICLR2020的最後思考在這篇文章中,我總結了我從ICLR2020中得到的主要收穫。我還解釋了一個案例研究,以了解研究社區中工具的使用情況。我要感謝ICLR2020的組織者主辦了這次精彩的會議,也感謝他們給了我作為志願者參加這次活動的機會。此外,我想特別提到 Sasha Rush, Patryk Mizuila 和幫助我完成案例研究分析的Vidhya團隊。我在本文中所做的是對數據的簡單探索。還有一些想法可以探討,例如:我們可以找到代碼屬於哪個領域,也就是說,它更多的是與自然語言處理相關的研究,還是與計算機視覺或強化學習相關?因此,我們可以找到相應的工具,並基於領域對工具進行比較研究。我們可以找到研究人員的隸屬關係和他們各自的工作領域,然後在此基礎上,我們可以總結出一個具體的公司或大學所做的工作,甚至是總結出人口統計數據。基於ICLR的前幾次迭代,我們可以發現研究社區中工具使用的趨勢。我們可以使我編寫的代碼更加高效,無論是運行代碼所需的時間,還是成功完成代碼所需的資源(網絡速度或計算能力)。原文連結:https://www.analyticsvidhya.com/akeaways-iclr-2020/為了感謝大家長期以來的支持,小編會在每次發送課程文的第二天做一次送書」活動!在本文文末留言即可參與活動,留言內容需為主題相關,多多留言會提升中獎概率喲~~這次留言送書福利,小編本來選擇了我們在「你挑我送」活動中,投票最高的《TensorFlow+PyTorch深度學習從算法到實戰》,但與出版社對接時,說這本書庫存少,讓換一本類似的,好吧,小編也是沒有辦法了,只能在送的數量上,多送幾本,以回饋大家,有機會,小編會繼續爭取噠。這次選擇了《TensorFlow深度學習實戰大全》送給3位粉絲。本書囊括圖像識別、卷積神經網絡、殘差神經網絡、對抗神經網絡等內容,講解細緻、深入淺出,即使沒有機器學習的基礎,也能快速學會,同時適合任何對深度學習技術或人工智慧相關領域感興趣的從業人員學習使用。書籍詳情可點擊「閱讀原文」查看
/ 留言主題 /
你怎麼看待昨天發的《高端實訓就業班 | 算法工程師的進階之路》,對你有幫助麼?有什麼建議?本次「留言送書」活動截至到5月21號,抽留言走心的粉絲3名 免費贈送這本書籍(走心留言將經過篩選)。屆時會公布中獎者評論截圖及福利領取方式~
如果看到這裡,說明你喜歡這篇文章,請轉發、點讚。微信搜索「uncle_pn」,歡迎添加小編微信「 mthler」,每日朋友圈更新一篇高質量博文(無廣告)。