自編碼器 AutoEncoder

自編碼器(AutoEncoder),也稱自編碼模型,是一種基于無監督學習的數據維度壓縮和特征表示方法,目的是對一組數據學習出一種表示。1986年 Rumelhart 提出自編碼模型用于高維復雜數據的降維。由于自動編碼器通常應用于無監督學習,所以不需要對訓練樣本進行標記。自動編碼器在圖像重構、聚類、降維、自然語言翻譯等方面應用廣泛。

1. 數據表示

數據表示(Data Representation)是使用另一種形式呈現原始數據的方法,這一技術也被稱為隱式表示(Latent Representation)或者轉碼(Coding)。

  • 原始數據為 [ 2 , 4 , 6 , 8 , 10 ] [2,4,6,8,10] [2,4,6,8,10]
    我們可以使用文字以2開頭,以10結尾的偶數列來表示該原始數據,也可以使用 [ x , 2 x , 3 x , 4 x , 5 x ] [x,2x,3x,4x,5x] [x,2x,3x,4x,5x] x = 2 x=2 x=2 來表示該原始數據。
  • 原始數據為 [ ′ 蘋 果 ′ , ′ 梨 ′ , ′ 百香 果 ′ ] ['蘋果','梨','百香果'] [,,百香]
    我們可以使用序列 [ 0 , 1 , 2 ] [0,1,2] [0,1,2] 來表示該原始數據,也可以使用水果這一概括性的詞匯來表示原始數據。

很顯然,一個數據的數據表示并不是唯一的,且這種表示可以是精確的、也可以是有些模糊的,甚至可以看起來與原始數據毫不相關,但無論如何,數據表示的結果必須攜帶原始數據上大部分的信息。廣義地表示,只要數據B是以另一種形式呈現數據A、并且數據B上攜帶數據A大部分的信息,我們就可以說B是A的數據表示。同時,“另一種形式”既可以是文字-數字這樣不同類別的數據之間的形式差異,也可以是數字-數字這樣相同類別,但不同大小、不同數量的數據之間的形式差異。在實際計算當中,當數據B是數據A的數據表示時,數據B通常是從數據A總結出的規律、或直接在數據A上計算得出的新數據。

根據以上數據表示的廣義定義可以得知,我們非常熟悉的數據編碼(獨熱編碼、順序編碼等操作)、特征提取、升維降維、Embedding等方法都可以囊括到數據表示領域當中。在這領域當中,使用機器學習或深度學習手段令算法自己求解出數據表示結果的領域被稱之為表征學習。自編碼器是表征學習中極具特色的代表架構。為了實現數據表示的功能,自編碼器能夠“接收數據A,并輸出另一種形式的數據B”,因此自編碼器是為“生產新數據”而生的架構。
在這里插入圖片描述

2. 自編碼器模型簡介

最初的自編碼器是一個三層網絡結構,即輸入層、中間隱藏層以及輸出層,其中輸入層和輸出層的神經元個數相同。如下圖所示:
在這里插入圖片描述
深度自編碼器是將自編碼器堆積起來,可以包含多個中間隱藏層。由于其可以有更多的中間隱藏層,所以對數據的表示和編碼能力更強,而且在實際應用中也更加常用。如下圖所示:
在這里插入圖片描述
稀疏自編碼器,是在原有自編碼器的基礎上,對隱層單元施加稀疏性約束,這樣會得到對輸入數據更加緊湊的表示,在網絡中僅有小部分神經元會被激活。常用的稀疏約束是使用 L1 \text{L1} L1 范數約束,目的是讓不重要的神經元的權重為0。

卷積自編碼器是使用卷積層搭建獲得的自編碼網絡。當輸入數據為圖像時,由于卷積操作可以從圖像數據中獲取更豐富的信息,所以使用卷積層作為自編碼器隱藏層,通常可以對圖像數據進行更好的表示。在實際應用中,用于處理圖像的自動編碼器的隱藏層幾乎都是基于卷積的自編碼器。在卷積自編碼器的編碼器部分,通常可以通過池化層負責對數據進行下采樣,卷積層負責對數據進行表示,而解碼器則通常使用可以對特征映射進行上采樣的操作來完成。

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

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

相關文章

《PySpark大數據分析實戰》-02.了解Hadoop

📋 博主簡介 💖 作者簡介:大家好,我是wux_labs。😜 熱衷于各種主流技術,熱愛數據科學、機器學習、云計算、人工智能。 通過了TiDB數據庫專員(PCTA)、TiDB數據庫專家(PCTP…

Leetcode 2962. Count Subarrays Where Max Element Appears at Least K Times

Leetcode 2962. Count Subarrays Where Max Element Appears at Least K Times 1. 解題思路2. 代碼實現 題目鏈接:2962. Count Subarrays Where Max Element Appears at Least K Times 1. 解題思路 這一題思路上同樣很直接,就是找到最大的元素所在的全…

云降水物理基礎

云降水物理基礎 云的分類 相對濕度變化方程 由相對濕度的定義,兩邊取對數之后可以推出 聯立克勞修斯-克拉佩龍方程(L和R都為常數) 由右式看出,增加相對濕度的方式:增加水汽(de增大)和降低…

開源好用EasyImages簡單圖床源碼

源碼介紹 開源好用EasyImages簡單圖床源碼分享,雖然它是開源程序,但功能一點也不弱,不僅支持多文件上傳、文字/圖片水印、支持API和鑒黃、還能自定義代碼,最重要的是它不強制使用數據庫運行,這就給我們的部署和維護帶…

人工智能的技術演進與未來趨勢

人工智能的技術演進與未來趨勢 一、引言 人工智能(AI)已經成為當今科技領域的熱門話題,其在各個行業的應用越來越廣泛。從智能語音助手到自動駕駛汽車,從智能家居系統到醫療診斷,AI技術已經深入到我們的日常生活。在…

OpenVINS學習2——VIRAL數據集eee01.bag運行

前言 周末休息了兩天,接著做上周五那個VIRAL數據集沒有運行成功的工作。現在的最新OpenVINS需要重新寫配置文件,不像之前那樣都寫在launch里,因此需要根據數據集情況配置好estimator_config.yaml還有兩個標定參數文件。 VIRAL數據集 VIRAL…

WooCommerce商城個人微信支付網關 適合個人微信收款

點擊獲取WooCommerce商城個人微信支付網關 適合個人微信收款原文https://gplwp.eastfu.com/product/woocommerce-ge-ren-wei-xin-zhi-fu-wang-guan-shi-he-ge-ren/ 個人微信支付網關接口,無需提現,100%資金安全,官方清算,金額無限…

壓力測試過程中出現線程死鎖情況如何解決

確認問題是線程死鎖的方法有以下幾種: 1. 分析日志:查看應用程序的日志,如果發現有線程死鎖的日志信息,可以確認問題是線程死鎖。 2. 使用線程分析工具:可以使用線程分析工具,例如Java的jstack工具&#xf…

axios的使用

Axios 是一個基于 promise 的 HTTP 庫,可以用在瀏覽器和 node.js 中。 如果您想在瀏覽器中使用 Axios,首先需要安裝它。您可以使用 npm(Node 包管理器)或 yarn 來安裝 Axios。例如,在命令行中輸入以下命令&#xff1a…

Docker 容器運行實戰:從啟動到停止一切你想知道的

要啟動一個新的容器,我們使用 docker run 命令,后跟鏡像名稱。基本語法如下: docker run [選項] 鏡像 [COMMAND] [ARG...] 例如,要運行官方的 Nginx 鏡像,我們可以使用: docker run -d -p 8080:80 nginx…

IoTDB服務安裝教程-集群版

文章目錄 官方說明文檔下載地址服務安裝節點服務分配修改配置文件修改堆內存啟動集群啟動第一個節點啟動其他兩個節點的 ConfigNode 和 DataNode檢驗集群狀態修改集群密碼 【附錄】清理環境 集群擴容修改配置擴容驗證擴容結果 集群縮容縮容一個 ConfigNode縮容一個 DataNode驗證…

XCube——用于超高分辨率 3D 形狀和場景的生成模型!

他們的方法在稀疏體素網格的層次結構上訓練潛在擴散模型的層次結構。他們在稀疏結構 VAE 的潛在空間上進行擴散,它為層次結構的每個級別學習緊湊的潛在表示。 XCube 是稀疏體素層次上的分層潛在擴散模型,即從粗到細的 3D 稀疏體素網格序列,使…

靈茶 2023 - 12 - 11

鏈接 : Problem - C - Codeforces 題意 : 輸入一個長度 ≤1e5 的字符串 s,只包含小寫字母。 找到一個最小的 k,使得所有長度 > k 的連續子串,有公共字母(這些子串的交集不為空)。 思路 : 就是求每個字母的…

智能優化算法之粒子群模型(含python案例代碼)

粒子群優化模型概述 粒子群優化(Particle Swarm Optimization,簡稱PSO)是一種基于群體智能的優化算法,最早由美國社會心理學家James Kennedy和Russell Eberhart于1995年提出。PSO的靈感來自鳥群和魚群等自然界群體行為的觀察。 PS…

Linux驅動入門——編寫第一個驅動

目錄 前言 驅動入門知識 1.APP 打開的文件在內核中如何表示 2.打開字符設備節點時,內核中也有對應的 struct file 編寫 Hello 驅動程序步驟 1.流程介紹 2.驅動代碼: 3.應用層代碼: 4.本驅動程序的 Makefile 內容: 5.上機…

4fiddler抓包工具的使用

一、定義 1.1 抓包的定義 說明:客戶端向服務器發送請求以及服務器響應客戶端的請求,都是以數據包來傳遞的。 抓包(packet capture):通過工具攔截客戶端與服務器交互的數據包 1.2 fiddler的介紹 Fiddler是一個http協議調試代理工具&#…

Java程序設計基礎 - 課程概述

文章目錄 一、程序員最具共性的心理特征二、Java開發工程師的崗位要求(一)素質和職業道德需求(二)崗位能力需求統計三、針對Java工程師崗位需求的課程目標(一)熟練掌握Java編程語言,掌握編程技能(二)精通使用集成開發工具Eclipse或IntelliJ IDEA(三)需要將“用戶體驗…

市場全局復盤 20231208

一、板塊成交額排名: 資金流入前三個板塊K 線: 行業成交額排名: 個股資金流入排名: select 成交額排名 ,近日指標提示 ,短線主題 ,漲停分析,CODE,名稱,DDE大單凈量,現價,量比,連板天,周漲停,月漲停,年漲停天,連漲天,…

【每日一題】—— B. StORage room(Codeforces Round 912 (Div. 2))(位操作符)

🌏博客主頁:PH_modest的博客主頁 🚩當前專欄:每日一題 💌其他專欄: 🔴 每日反芻 🟡 C跬步積累 🟢 C語言跬步積累 🌈座右銘:廣積糧,緩稱…

工業傳感器

工業傳感器 電子元器件百科 文章目錄 工業傳感器前言一、工業傳感器是什么二、工業傳感器的類別三、工業傳感器的應用實例四、工業傳感器的作用原理總結前言 工業傳感器的應用可以幫助提高工業過程的效率、安全性和可靠性,實現工業自動化和智能化。 一、工業傳感器是什么 工…