主頁 > 後端開發 > 《因果科學周刊》第6期:領域自適應

《因果科學周刊》第6期:領域自適應

2020-12-22 11:56:09 後端開發

為了幫助大家更好地了解因果科學的最新科研進展和資訊,我們因果科學社區團隊本周整理了第6期《因果科學周刊》,推送近期因果科學值得關注的論文和資訊資訊,本期的主題是”領域自適應“,

本期作者:劉珈麟 許雄銳 趙江杰 陳晗曦 袁蕾 方文毅 楊二茶 龔鶴揚 宮明明

當前機器學習研究的一個重點,是演算法的魯棒性和泛化能力,已有模型均假設訓練資料和測驗資料獨立同分布(IID),實際應用很難滿足,更常見的情況是,訓練資料和演算法部署場景的資料之間存在一定因果關聯,對此,Bernhard Scholkopf曾舉例:海拔是影響氣溫的重要因素,不同地區的海拔不同(即目標先驗知識發生改變),但海拔對氣溫的影響機制幾乎相同(即條件概率分布相同,或因果機制不變),天下沒有免費的午餐(No Free Launch Theorem),對于如何尋找更合理的假設來代替IID的強假設,因果科學為我們提供了值得借鑒的思路,在第五期的周刊當中,我們介紹了兩種解決OOD的方式(利用因果圖資訊,利用表示學習,stable learning是這兩種思路的融合),以及 Y. Bengio 在嘗試的元學習思路,本期周刊為大家帶來,由墨爾本大學宮明明老師推薦的六篇關于因果與領域自適應相結合的文章,嚴格范疇的 OOD 問題要求我們不對測驗資料的分布做任何假設,相對于從第五期周刊介紹的有關 從 IID 到 OOD 的內容,領域自適應關注演算法在測驗集上的表現,經常對測驗分布如何變化做出了一些假定,例如目標偏移,條件偏移和廣義目標偏移,本期周刊推薦的六篇文章探討了這三種問題,希望能激發相關研究人員進一步的思考,

1)Zhang, Kun, et al. "Domain adaptation under target and conditional shift." International Conference on Machine Learning. 2013.

2)Gong, Mingming, et al. "Domain adaptation with conditional transferable components." International conference on machine learning. 2016.

3)Guo, Jiaxian, et al. "Ltf: A label transformation framework for correcting target shift." ICML, 2020.

4)Teshima, Takeshi, Issei Sato, and Masashi Sugiyama. "Few-shot Domain Adaptation by Causal Mechanism Transfer." arXiv preprint arXiv:2002.03497 (2020).

5)Magliacane, Sara, et al. "Domain adaptation by using causal inference to predict invariant conditional distributions." Advances in Neural Information Processing Systems. 2018.

6)Zhang, Kun, et al. "Domain adaptation as a problem of inference on graphical models." Advances in Neural Information Processing Systems 33 (2020).

1. 論文翻譯和解讀

我們推薦的6篇論文根據因果模型是否已知可以分為兩大類,前4篇是在因果模型已知的條件下,其中前3篇文章探討了在因果圖已知的情況下,領域自適應問題的基本框架,廣義目標偏移和表示學習相結合的目標偏移問題,第4篇論文則利用到了J.Pearl的結構因果方程SCM來幫助領域自適應;第5、6篇論文則屬于因果模型未知的情況,

1.1 因果模型已知

Zhang, Kun, et al. "Domain adaptation under target and conditional shift." International Conference on Machine Learning. 2013.

摘要:用X表示特征,Y表示目標,本文研究以下以下三種情況的領域自適應問題:(1)目標偏移,邊緣概率改變,條件概率不變;(2)條件偏移,不變,條件概率在限定條件下改變;(3)廣義目標偏移,改變,條件概率在限定條件下改變,利用背景因果知識,我們可以對手中的問題進行正確的分類,我們利用重要性重估和樣本變換來找到在測驗集上性能良好的學習演算法,思路是對訓練集資料進行重新加權評估或變換來重現測驗集上的協變數分布,因為邊緣概率分布和條件概率分布都有核方法表示,本文提出的方法避免了直接重新估計協變數分布,也適用于高維資料分布,在仿真資料和真實資料上的數值實驗證明了本文所提方法的有效性,

譯者:劉珈麟

劉珈麟簡評:Zhang Kun(CMU,MPI)老師這篇文章,將領域自適應問題梳理成四個類別:協變數偏移,目標偏移,條件偏移和廣義目標偏移,并針對上述三種未得到解決的問題給出了基本解決框架,

Gong, Mingming, et al. "Domain adaptation with conditional transferable components." International conference on machine learning. 2016.

摘要:領域自適應在監督學習中用于研究訓練集和測驗集存在資料分布不一致的情況,在之前的作業中,大部分的領域自適應作業都集中在協變數偏移的研究, 用X和Y分別表示特征和目標,當出現跨領域時,僅考慮特征分布P(X)的改變,并沒有考慮條件概率P(Y|X)的變化,為了降低領域偏差,最近的研究通過最小化不同領域分布差異的方法,尋找不變因子(invariant components) T(x),T(x)的概率分布P(T(x))在不同領域中是近似相等的,然而在不同的領域中,當P(Y|X)發生變化時,并不能確定它們的P(Y|T(X))也是近似相等的,此外,可遷移的因子(transferable components)并一定是不變的,只要其中有一些因子的變化是可識別的,就可以利用這些因子在目標領域進行預測,本文主要關注在Y causes X的因果系統中,研究P(X|Y)和P(Y)都發生變化的情況,在合適的假設前提下,我們的目標是提取那些通過區域縮放(location-scale)變換之后,在不同領域內的條件概率P(T(X)|Y)保持不變的條件可遷移因子(conditional transferable components),并同時識別P(Y)在不同領域間是如何變化的,本文在人工合成資料與真實世界資料上進行了理論分析和實證評估,來表明我們方法的有效性,

譯者:趙江杰,許雄銳

劉珈麟簡評:本文在第一篇文章的基礎上,考慮廣義目標偏移條件下的領域自適應,與推薦論文1關注樣本重要性跨領域重估不同的是,本文關注另一大類方法:不變因子發現,已有研究忽略了一個重要現象,即不變因子可能改變,本文作者針對這種情況提出了新的方法來統一已有的不變因子發現相關研究,

Guo, Jiaxian, et al. "Ltf: A label transformation framework for correcting target shift." ICML, 2020.

摘要:分布偏移是當前深度學習模型在現實世界中部署時遇到的主要障礙,用Y表示標簽、X表示特征,我們關注的是分布偏移中的一種——target shift,這里是指目標變數的邊緣分布發生變化而條件分布不變的情況,現有方法通過密度估計的方法來估計源域和目標域的標簽分布密度率,然而,這些方法要么對大規模資料有很高的計算量,要么限定在離散標簽偏移的情況,本文中,我們提出了一種端到端的標簽轉換框架(Label Transformation Framework, LTF)來修正target shift,LTF把的偏移和條件分布用神經網路建模,由于深度網路的靈活性,我們提出的框架可以針對大資料用統一的框架處理連續、離散甚至多維標簽,此外,對高維特征X,例如影像,我們發現X中冗余的資訊嚴重降低了估計準確率,為了解決這一問題,我們提出一種基于生成模型隱式地匹配分布,將特征分布匹配到低維特征空間,且丟棄那些和Y無關的資訊,理論和經驗研究都表明我們的方法比先前的作業有更卓越的性能,

譯者:陳晗曦

劉珈麟簡評:本文和宮明明老師,Zhang Kun老師的研究思路一脈相承,前兩篇文章分別指出了領域自適應的重點也是難點:從源域到目標域的遷移機制,這在樣本重估中是ratio,都是針對概率密度進行直接或間接的重估,一個自然的想法就是用神經網路來代替這個重估程序,結合System1表示學習的成果研究領域自適應是本文的亮點,

Teshima, Takeshi, Issei Sato, and Masashi Sugiyama. "Few-shot Domain Adaptation by Causal Mechanism Transfer." arXiv preprint arXiv:2002.03497 (2020).

摘要:我們研究回歸中的少樣本有監督領域自適應(DA)問題,在該問題中我們只能獲得少量的目標域有標簽資料和大量的源域有標簽資料,現在大多數的DA方法都是將他們的遷移假設建立在分布變化的引數形式或是明顯的分布相似處上,比如說相同的條件或是小的分布差異,然而,這些假設可能限制了復雜變化的或是明顯非常不同分布的自適應可能性,為了克服這個問題,我們提出了機制遷移---一種跨領域時資料產生機制不變的元分布情形,機制遷移的假設能夠在給DA提供堅實的統計基礎的同時考慮到導致明顯不同分布的非引數變化情形,我們將因果模型中的結構方程作為案例并且提出了一種創新的且通過理論和實驗證明有用的DA方法,我們的方法可以被視作在DA中完全發揮結構因果模型的重要作用的第一次嘗試,

譯者:袁蕾

劉珈麟簡評:Elias Bareinboim在文章“On Pearl’s Hierarchy and the Foundations of Causal Inference”中指出,因果推理本質上是在SCM未知的情況下,通過經驗(資料)和知識(因果假設限制)來做分類回歸等推理,本文同樣是基于這樣一個假設(在資料分布背后存在一個普世的因果生成機制),通過對這個生成機制做假設可以避免直接對遷移程序做假設(Zhang Kun老師第一篇文章中假設遷移服從區域變換),是SCM框架和領域自適應問題的一次結合,

1.2 因果模型未知

Magliacane, Sara, et al. "Domain adaptation by using causal inference to predict invariant conditional distributions." Advances in Neural Information Processing Systems. 2018.

摘要:領域自適應和因果推理的一個共同的重要目標是當源(或訓練)領域和目標(或測驗)領域的分布不同時做出準確的預測,在許多情況下,這些不同的分布可以被建模為一個單一底層系統下的不同環境,其中每個分布對應于系統的不同擾動,或者使用因果術語--干預,我們專注于這樣的一類因果領域自適應問題,問題給出了一個或多個源域的資料,任務是通過對一個或多個目標域中其他變數的測量來預測某個目標變數的分布,我們提出了一種解決這些問題的方法,該方法利用因果推理,不依賴于對因果圖、干預型別或干預目標的先驗知識,我們通過在模擬和真實資料上評估一個可能的實作來展示我們的方法,

譯者:方文毅

龔鶴揚簡評:文章的一個核心假設是存在一個協變數子集 A,使得給定這些協變數的情況下,Y 的條件分布在訓練集和測驗集上是不變的,

Zhang, Kun, et al. "Domain adaptation as a problem of inference on graphical models." Advances in Neural Information Processing Systems 33 (2020).

摘要:本文致力于解決資料驅動的無監督領域自適應問題,無監督領域自適應問題的難點在于事先無法得知聯合分布是如何跨領域變化的,也就是說,無法得知在不同的領域中對變數分布有作用的哪些因素或模塊是保持不變的,抑或是變化的,為了得到一種解決多源域領域自適應問題的自動化方法,我們使用了能從資料中學習到的圖模型作為編碼聯合分布中變化屬性的壓縮方法,然后將領域自適應問題視作在圖模型上的貝葉斯推斷問題,這樣的一種圖模型能夠將分布中的不變模塊和變化模塊區分開來,并能確定跨領域的變化屬性,這可以為推導目標域中目標變數Y的后驗分布提供變化模塊的先驗知識,該方法提供了一種領域自適應的端到端的框架,在這個框架中,如果有額外的關于聯合分布變化的知識,這些知識就能被直接納入框架中使用從而改進圖的表示,我們在本文中討論了如何在所提出的框架中表述基于因果的領域自適應問題,在仿真和真實資料中的實驗結果也證明了所提出的領域自適應框架的有效性,本文中涉及的代碼可以在 https://github.com/mgong2/DA_Infer 獲取,

譯者:袁蕾

龔鶴揚簡評:這是解決領域自適應問題的一種新思路,其中一個關鍵假設是不同領域資料的部分是某個 mother 分布 i.i.d 采樣得到的,

2. 近期社區活動

2020年11月22日,因果科學與Casual AI讀書會第九期——“因果推理和遷移學習”如期進行,宮明明、郭家賢、丁晨煒作了精彩分享,

主講人介紹:

宮明明,墨爾本大學講師,研究方向為因果推斷,基于因果的機器學習,遷移學習,計算機視覺,

郭家賢, 悉尼大學在讀博士,研究方向為深度遷移學習,強化學習,

丁晨煒,悉尼大學在讀博士,研究方向為因果發現,計算機視覺,

演講內容簡介:

大資料的出現使得許多學科在學習和預測方面取得了革命性的成功,但是,當前的機器學習模型的一個主要缺點是缺乏對新領域的適應性和泛化能力,也就是說,標準的監督學習模型在資料分布發生變化時預測性能會顯著下降,在本次讀書會,我們將重點講述如果利用因果模型理解和建模不同領域的分布變化,因為因果系統的獨立模塊性質,我們可以將復雜的分布分解成小的模塊,發掘分布在不同領域的不變性和變化性,從而開發出具有領域自適應能力的高效遷移學習演算法,以下是本次讀書會的大綱:

1)領域自適應問題的定義

2)因果模型的獨立模塊性質

3)因果視角下的領域自適應

4)不同領域自適應設定下的演算法設計

5)多領域的因果模型學

讀書會精彩問答:

問:共享引數是什么?

答:每個causal module,引數是由不同部分變成,這些就是同步變化的引數,可以看成是confounder,這種變數叫做二層變數,叫共同影響的因子,公司文化或者制度對個體的影響,C可以是企業文化,每個人采樣都采V1,V2,V3,V4的四個變數,比如工資多少,加班時間等等,對于同一個公司的不同人都是一樣的,只是影響的不同因素,

問:Wi-Fi和augmented的真實應用是什么?

答:Wifi變數之間的關系做adaptation domain,這個應用本身就是做wifi定位的時候,知道具體位置,這樣可以搜到一系列wifi信號,通過每個路由器信號強弱來判斷距離,早上、晚上和中午拍出來的信號隨著時間變化,今天和明天不一樣,這個應用就是用一個model可以穿到各種各樣時間段里,不用采集那么多資料,

因果科學社區簡介:它是由智源社區、集智俱樂部共同推動,面向因果科學領域的垂直型學術討論社區,目的是促進因果科學專業人士和興趣愛好者們的交流和合作,推進因果科學學術、產業生態的建設和落地,孕育新一代因果科學領域的學術專家和產業創新者,

因果科學社區歡迎您加入!

因果科學社區愿景回答因果問題是各個領域迫切的需求,當前許多不同領域(例如 AI 和統計學)都在使用因果推理,但是他們所使用的語言和模型各不相同,導致這些領域科學家之間溝通交流困難,因此我們希望構建一個社區,通過組織大量學識訓動,使得科研人員能夠掌握統計學的核心思想,熟練使用當前 AI 各種技術(例如 Pytorch/Pyro 搭建深度概率模型),促進各個領域的研究者交流和思維碰撞,從而讓各個領域的因果推理有著共同的范式,甚至是共同的工程實踐標準,推動剛剛成型的因果科學快速向前發展,具備因果推理能力的人類緊密協作創造了強大的文明,我們希望在未來社會中,因果推理融入到每個學科,尤其是緊密結合和提升 AI ,期待無數具備攀登因果之梯能力的 Agents (Causal AI) 和人類一起協作,共建下一代的人類文明!

如果您有適當的數學基礎和人工智能研究經驗,既有科學家的好奇心也有工程師思維,希望參與到”因果革命“中,教會機器因果思維,為因果科學作出貢獻,請加入我們微信群:掃描下面社區小助手二維碼加入(請備注“因果科學”)????

閱讀往期《因果科學周刊》,請點擊下面鏈接:

《因果科學周刊》第一期:因果社區誠邀加入,打造因果推理共同范式

《因果科學周刊》第二期:如何解決混淆偏差?

《因果科學周刊》第三期:因果助力 Stable Learning

《因果科學周刊》第四期:因果賦能推薦系統

《因果科學周刊》第五期:OOD泛化

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/238539.html

標籤:java

上一篇:Linux soft lockup時遠程除錯的可能性

下一篇:[安全攻防進階篇] 十.熊貓燒香病毒機理IDA和OD逆向分析--病毒釋放程序(中)

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【C++】Microsoft C++、C 和匯編程式檔案

    ......

    uj5u.com 2020-09-10 00:57:23 more
  • 例外宣告

    相比于斷言適用于排除邏輯上不可能存在的狀態,例外通常是用于邏輯上可能發生的錯誤。 例外宣告 Item 1:當函式不可能拋出例外或不能接受拋出例外時,使用noexcept 理由 如果不打算拋出例外的話,程式就會認為無法處理這種錯誤,并且應當盡早終止,如此可以有效地阻止例外的傳播與擴散。 示例 //不可 ......

    uj5u.com 2020-09-10 00:57:27 more
  • Codeforces 1400E Clear the Multiset(貪心 + 分治)

    鏈接:https://codeforces.com/problemset/problem/1400/E 來源:Codeforces 思路:給你一個陣列,現在你可以進行兩種操作,操作1:將一段沒有 0 的區間進行減一的操作,操作2:將 i 位置上的元素歸零。最終問:將這個陣列的全部元素歸零后操作的最少 ......

    uj5u.com 2020-09-10 00:57:30 more
  • UVA11610 【Reverse Prime】

    本人看到此題沒有翻譯,就附帶了一個自己的翻譯版本 思考 這一題,它的第一個要求是找出所有 $7$ 位反向質數及其質因數的個數。 我們應該需要質數篩篩選1~$10^{7}$的所有數,這里就不慢慢介紹了。但是,重讀題,我們突然發現反向質數都是 $7$ 位,而將它反過來后的數字卻是 $6$ 位數,這就說明 ......

    uj5u.com 2020-09-10 00:57:36 more
  • 統計區間素數數量

    1 #pragma GCC optimize(2) 2 #include <bits/stdc++.h> 3 using namespace std; 4 bool isprime[1000000010]; 5 vector<int> prime; 6 inline int getlist(int ......

    uj5u.com 2020-09-10 00:57:47 more
  • C/C++編程筆記:C++中的 const 變數詳解,教你正確認識const用法

    1、C中的const 1、區域const變數存放在堆疊區中,會分配記憶體(也就是說可以通過地址間接修改變數的值)。測驗代碼如下: 運行結果: 2、全域const變數存放在只讀資料段(不能通過地址修改,會發生寫入錯誤), 默認為外部聯編,可以給其他源檔案使用(需要用extern關鍵字修飾) 運行結果: ......

    uj5u.com 2020-09-10 00:58:04 more
  • 【C++犯錯記錄】VS2019 MFC添加資源不懂如何修改資源宏ID

    1. 首先在資源視圖中,添加資源 2. 點擊新添加的資源,復制自動生成的ID 3. 在解決方案資源管理器中找到Resource.h檔案,編輯,使用整個專案搜索和替換的方式快速替換 宏宣告 4. Ctrl+Shift+F 全域搜索,點擊查找全部,然后逐個替換 5. 為什么使用搜索替換而不使用屬性視窗直 ......

    uj5u.com 2020-09-10 00:59:11 more
  • 【C++犯錯記錄】VS2019 MFC不懂的批量添加資源

    1. 打開資源頭檔案Resource.h,在其中預先定義好宏 ID(不清楚其實ID值應該設定多少,可以先新建一個相同的資源項,再在這個資源的ID值的基礎上遞增即可) 2. 在資源視圖中選中專案資源,按F7編輯資源檔案,按 ID 型別 相對路徑的形式添加 資源。(別忘了先把檔案拷貝到專案中的res檔案 ......

    uj5u.com 2020-09-10 01:00:19 more
  • C/C++編程筆記:關于C++的參考型別,專供新手入門使用

    今天要講的是C++中我最喜歡的一個用法——參考,也叫別名。 參考就是給一個變數名取一個變數名,方便我們間接地使用這個變數。我們可以給一個變數創建N個參考,這N + 1個變數共享了同一塊記憶體區域。(參考型別的變數會占用記憶體空間,占用的記憶體空間的大小和指標型別的大小是相同的。雖然參考是一個物件的別名,但 ......

    uj5u.com 2020-09-10 01:00:22 more
  • 【C/C++編程筆記】從頭開始學習C ++:初學者完整指南

    眾所周知,C ++的學習曲線陡峭,但是花時間學習這種語言將為您的職業帶來奇跡,并使您與其他開發人員區分開。您會更輕松地學習新語言,形成真正的解決問題的技能,并在編程的基礎上打下堅實的基礎。 C ++將幫助您養成良好的編程習慣(即清晰一致的編碼風格,在撰寫代碼時注釋代碼,并限制類內部的可見性),并且由 ......

    uj5u.com 2020-09-10 01:00:41 more
最新发布
  • Rust中的智能指標:Box<T> Rc<T> Arc<T> Cell<T> RefCell<T> Weak

    Rust中的智能指標是什么 智能指標(smart pointers)是一類資料結構,是擁有資料所有權和額外功能的指標。是指標的進一步發展 指標(pointer)是一個包含記憶體地址的變數的通用概念。這個地址參考,或 ” 指向”(points at)一些其 他資料 。參考以 & 符號為標志并借用了他們所 ......

    uj5u.com 2023-04-20 07:24:10 more
  • Java的值傳遞和參考傳遞

    值傳遞不會改變本身,參考傳遞(如果傳遞的值需要實體化到堆里)如果發生修改了會改變本身。 1.基本資料型別都是值傳遞 package com.example.basic; public class Test { public static void main(String[] args) { int ......

    uj5u.com 2023-04-20 07:24:04 more
  • [2]SpinalHDL教程——Scala簡單入門

    第一個 Scala 程式 shell里面輸入 $ scala scala> 1 + 1 res0: Int = 2 scala> println("Hello World!") Hello World! 檔案形式 object HelloWorld { /* 這是我的第一個 Scala 程式 * 以 ......

    uj5u.com 2023-04-20 07:23:58 more
  • 理解函式指標和回呼函式

    理解 函式指標 指向函式的指標。比如: 理解函式指標的偽代碼 void (*p)(int type, char *data); // 定義一個函式指標p void func(int type, char *data); // 宣告一個函式func p = func; // 將指標p指向函式func ......

    uj5u.com 2023-04-20 07:23:52 more
  • Django筆記二十五之資料庫函式之日期函式

    本文首發于公眾號:Hunter后端 原文鏈接:Django筆記二十五之資料庫函式之日期函式 日期函式主要介紹兩個大類,Extract() 和 Trunc() Extract() 函式作用是提取日期,比如我們可以提取一個日期欄位的年份,月份,日等資料 Trunc() 的作用則是截取,比如 2022-0 ......

    uj5u.com 2023-04-20 07:23:45 more
  • 一天吃透JVM面試八股文

    什么是JVM? JVM,全稱Java Virtual Machine(Java虛擬機),是通過在實際的計算機上仿真模擬各種計算機功能來實作的。由一套位元組碼指令集、一組暫存器、一個堆疊、一個垃圾回收堆和一個存盤方法域等組成。JVM屏蔽了與作業系統平臺相關的資訊,使得Java程式只需要生成在Java虛擬機 ......

    uj5u.com 2023-04-20 07:23:31 more
  • 使用Java接入小程式訂閱訊息!

    更新完微信服務號的模板訊息之后,我又趕緊把微信小程式的訂閱訊息給實作了!之前我一直以為微信小程式也是要企業才能申請,沒想到小程式個人就能申請。 訊息推送平臺🔥推送下發【郵件】【短信】【微信服務號】【微信小程式】【企業微信】【釘釘】等訊息型別。 https://gitee.com/zhongfuch ......

    uj5u.com 2023-04-20 07:22:59 more
  • java -- 緩沖流、轉換流、序列化流

    緩沖流 緩沖流, 也叫高效流, 按照資料型別分類: 位元組緩沖流:BufferedInputStream,BufferedOutputStream 字符緩沖流:BufferedReader,BufferedWriter 緩沖流的基本原理,是在創建流物件時,會創建一個內置的默認大小的緩沖區陣列,通過緩沖 ......

    uj5u.com 2023-04-20 07:22:49 more
  • Java-SpringBoot-Range請求頭設定實作視頻分段傳輸

    老實說,人太懶了,現在基本都不喜歡寫筆記了,但是網上有關Range請求頭的文章都太水了 下面是抄的一段StackOverflow的代碼...自己大修改過的,寫的注釋挺全的,應該直接看得懂,就不解釋了 寫的不好...只是希望能給視頻網站開發的新手一點點幫助吧. 業務場景:視頻分段傳輸、視頻多段傳輸(理 ......

    uj5u.com 2023-04-20 07:22:42 more
  • Windows 10開發教程_編程入門自學教程_菜鳥教程-免費教程分享

    教程簡介 Windows 10開發入門教程 - 從簡單的步驟了解Windows 10開發,從基本到高級概念,包括簡介,UWP,第一個應用程式,商店,XAML控制元件,資料系結,XAML性能,自適應設計,自適應UI,自適應代碼,檔案管理,SQLite資料庫,應用程式到應用程式通信,應用程式本地化,應用程式 ......

    uj5u.com 2023-04-20 07:22:35 more