[UNILM]論文實現:Unified Language Model Pre-training for Natural Language.........

文章目錄

    • 一、完整代碼
    • 二、論文解讀
      • 2.1 介紹
      • 2.2 架構
      • 2.3 輸入端
      • 2.4 結果
    • 三、過程實現
    • 四、整體總結

論文:Unified Language Model Pre-training for Natural Language Understanding and Generation
作者:Li Dong, Nan Yang, Wenhui Wang, Furu Wei, Xiaodong Liu, Yu Wang, Jianfeng Gao, Ming Zhou, Hsiao-Wuen Hon
時間:2019
地址:https://github.com/microsoft/unilm

一、完整代碼

這里我們使用python代碼進行實現

# 完整代碼在這里
# 有時間再弄.......

二、論文解讀

2.1 介紹

這篇論文主要講的是一個統一的語言模型的預訓練,其就是結合三種語言模型來對結果進行優化:unidirectional, bidirectional, sequence-to-sequence;前者的代表是GPT;中間的代表是BERT;后面很新奇,但是其本質也很簡單,類似于GPT在mask加掩碼;

這里并不是一個模型中包含這三種層來進行訓練,而是共享參數然后對每一個語言模型的要求進行mask再來訓練;

一個語言模型對應一個或幾個下游任務,讓模型理解這個下游任務,然后疊加,這個就是UNILM

2.2 架構

模型架構如圖所示:

這個不就是mask一下嗎,換著花樣水,感覺就是統一了一下,沒想到這也能發論文,哈哈哈哈;

以上是其架構的公式;注意這里在訓練時M結構是不發生改變的;

2.3 輸入端

這里在輸入端和bert一樣,選擇加隨機掩碼的方式,把隨機的字符換成[mask]

2.4 結果

Question Answering

第一個被稱為extractive QA,其中答案是段落中的文本跨度。另一種稱為generative QA,答案需要動態生成。

Question Generation

Given an input passage and an answer span, our goal is to generate a question that asks for the answer.

就是給一段文本和答案,輸出該答案的問題;

Response Generation

這樣可以說明我們結合三種模型的效果在訓練步驟一致的情況下和BERT是不相上下的,但是這里要清楚的是:UNILM的初始架構是和BERT large是一致的,這樣看來UNILM有種類似于regularization的效果;

三、過程實現

實現過程比較簡單,有時間再弄;

四、整體總結

這篇文章最重要一點就是結合多種模型來適配多種任務得到的效果要比單一的模型要好;

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/209704.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/209704.shtml
英文地址,請注明出處:http://en.pswp.cn/news/209704.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

js new 原理

mdn new new 調用函數時,該函數將被用作構造函數 類只能用 new 運算符實例化 不使用 new 調用一個類將拋出 TypeError。 過程 new Foo(…) 執行時: 創建一個空的簡單 JavaScript 對象。 為方便起見,我們稱之為 newInstance。 如果構造函數…

華為OD機試真題-執行任務賺積分-2023年OD統一考試(C卷)

題目描述: 現有N個任務需要處理,同一時間只能處理一個任務,處理每個任務所需要的時間固定為1。 每個任務都有最晚處理時間限制和積分值,在最晚處理時間點之前處理完成任務才可獲得對應的積分獎勵。 可用于處理任務的時間有限,請問在有限的時間內,可獲得的最多積分。 輸入…

《LeetCode力扣練習》代碼隨想錄——字符串(替換數字---Java)

《LeetCode力扣練習》代碼隨想錄——字符串(替換數字—Java) 刷題思路來源于 代碼隨想錄 54. 替換數字 受制于語言限制,很普通的解法 import java.util.Scanner; class Main {public static void main(String[] args) {Scanner innew Scanner…

MyBatis--07--啟動過程分析、SqlSession安全問題、攔截器

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 文章目錄 談談MyBatis的啟動過程具體的操作過程如下:實現測試類,并測試SqlSessionFactorySqlSession SqlSession有數據安全問題?在MyBatis中,SqlSess…

vuex如何存儲數據、獲取數據、以及數據的持久化

前提必須已經在vue中安裝了vuex插件不然無法使用,不知道怎么創建vue和安裝vuex的可以看這個視頻,node.js版本最好16以上不然可能會安裝失敗:30分鐘學會Vue之VueRouter&Vuex 趁著暑假掌握一門技能 大學生前端實習畢業設計必備技能_嗶哩嗶哩…

好代碼資源網整站打包代碼(包含了最新數據),集成了深度二開的ripro主題,非常適合做資源網站創業用

好代碼資源網是基于wordpress開發的一個資源分享類網站,在開發者圈子里還算小有名氣,這里分享嬰整站打包代碼(包含了最新數據)。網站本身集成了深度二開的ripro主題,非常適合做資源網站創業用。 資源下載類網站目前還…

Button背景顏色改不了,一直是默認的紫色

使用android.widget.Button <android.widget.Buttonandroid:layout_width"wrap_content"android:layout_height"wrap_content"android:onClick"doClick"android:text"這是一個按鈕"android:textColor"color/black"androi…

kubesphere安裝后啟用DevOps

官方文檔&#xff1a;KubeSphere DevOps 系統 1、集群管理---定制資源定義 進入目錄&#xff1a;集群管理---定制資源定義搜索&#xff1a;clusterconfiguration 點擊 ks-installer 右側的 &#xff0c;選擇編輯 YAML 在該 YAML 文件中&#xff0c;搜索 devops&#xff0c;…

力扣98. 驗證二叉搜索樹

深度優先遍歷 思路&#xff1a; 根據二叉搜索樹特性&#xff0c;通過中序遍歷得到有序序列&#xff0c;驗證序列是否有序來判斷&#xff1b;中序遍歷使用棧通過深度優先遍歷&#xff1b; /*** Definition for a binary tree node.* struct TreeNode {* int val;* Tre…

No CUDA GPUs are available

文章目錄 前言嘗試方法一、嘗試方法一二、嘗試方法二 總結 前言 之前用服務器跑的時候&#xff0c;發現是可以跑的。但當有其他人一同使用的時候&#xff0c;就會拋出&#xff1a;No CUDA GPUs are available&#xff0c;這個時候我嘗試了以下兩種方式解決&#xff0c;后面終于…

一到冬天,助聽器出現聲音小、無聲、時有時無……

冬天是一個寒冷干燥的季節&#xff0c;對于助聽器的使用者來說&#xff0c;也是一個需要特別注意保養的季節。助聽器是高精密的電子產品&#xff0c;如果不注意保養&#xff0c;可能會出現聲音小、無聲、時有時無等故障&#xff0c;影響聽力康復的效果。那么&#xff0c;冬天我…

C++中string類的使用

目錄 一.string類 1.1為什么學習string類&#xff1f; 1.2.標準庫中的string類 二.string對象的元素訪問 2.1.1使用operator[]與at實現訪問 2.1.2正向迭代器訪問 2.1.3反向迭代器訪問 2.1.4const正向迭代器&#xff08;不能修改&#xff09; 2.1.5const反向迭代器&#…

計算機網絡知識點合集【王道計算機考研】

學習的最大理由是想擺脫平庸&#xff0c;早一天就多一份人生的精彩&#xff1b;遲一天就多一天平庸的困擾。各位小伙伴&#xff0c;如果您&#xff1a; 想系統/深入學習某技術知識點… 一個人摸索學習很難堅持&#xff0c;想組團高效學習… 想寫博客但無從下手&#xff0c;急需…

維護真實時間:應對系統時間篡改的技巧

引言 在App使用中&#xff0c;由于系統時間用戶可以隨意更改&#xff0c;在某些特殊情況下會導致獲取到的系統時間不正確問題。本篇代碼使用dart語言進行相關描述。 1.問題分析&#xff1a; 手機系統時間 ≠ 真實時間&#xff0c;當我們做一些需要對時間精度和準確性要求較高的…

SQL命令---修改數據庫的編碼

介紹 使用sql命令修改數據庫的編碼&#xff0c;修改為utf8mb4編碼。 命令 alter database 數據庫名稱 default character set utf8mb4;

垃圾收集算法和各種垃圾收集器的實現

深入理解Jvm虛擬機第三章 二、對象已死&#xff1f;3.2.1 引用計數算法3.2.2 可達性分析算法3.2.3 再談引用3.2.4 生存還是死亡3.2.5 回收方法區 三、垃圾收集算法3.3.1 分代收集理論3.3.2 標記-清除算法3.3.3 標記-復制算法3.3.4 標記-整理算法 四、HotSpot的算法細節實現3.4.…

單片機中的printf思考

問題: 1. printf自帶的庫編譯出來的大小比較大(flash吃緊) 2. printf是一個不定長參數, 意味著函數無法知道傳入的長度. 解決這個問題有2中方法:1.設置足夠大小的數組作為參數存儲; 2. 使用動態內存分配的方式來做(應該使用的是這個方式).(內存吃緊) 問題解釋: 1. 之前寫裸…

C# WPF上位機開發(串口界面設計)

【 聲明&#xff1a;版權所有&#xff0c;歡迎轉載&#xff0c;請勿用于商業用途。 聯系信箱&#xff1a;feixiaoxing 163.com】 如果只是把上位機看成是純軟件開發&#xff0c;本身不和硬件打交道的話&#xff0c;那么這就把上位機的操作范圍給限定死了。事實上&#xff0c;上…

多線程的使用

進程與線程 進程&#xff1a; 1、進程是指運行中的程序&#xff0c;比如我們使用QQ&#xff0c;就啟動了一個進程&#xff0c;操作系統就會為該進程分配內存空間。當我們使用微信&#xff0c;又啟動了一個進程,操作系統將為其分配新的內存空間。 2、進程是程序的一次執行過程…

數據庫系統概論期末經典大題講解(范式提升、求閉包、求主碼)

上一次我們介紹了數據庫中關系代數查詢&#xff0c;從選擇、投影到連接等操作符&#xff0c;探索了數據庫查詢 大家可以移步我的文章&#xff1a;數據庫系統概論期末經典大題講解&#xff08;用關系代數進行查詢&#xff09;-CSDN博客 今天&#xff0c;我們將繼續沿著數據庫系統…