周志華:滿足這三大條件,可以考慮不用深度神經網絡

周志華:滿足這三大條件,可以考慮不用深度神經網絡

AI科技大本營按:4 月 15 日舉辦的京東人工智能創新峰會上,剛剛上任京東人工智能南京分院學術總顧問的周志華教授做了《關於深度學習一點思考》的公開分享。

近年來,深度神經網絡在語音、圖像領域取得突出進展,以至於很多人將深度學習與深度神經網絡等同視之。但周志華表示,總結 Kaggle 競賽中的獲獎結果可以發現,神經網絡獲勝的往往就是在圖像、視頻、聲音這幾類典型任務上,而在其它涉及到混合建模、離散建模、符號建模的任務上,相比其他模型就會差一些。

為什麼會產生這樣的結果?周志華從深度神經網絡的深層含義說起,條分縷析地總結出神經網絡取得成功的三大原因:

  • 有逐層的處理

  • 有特徵的內部變化

  • 有足夠的模型複雜度

並得出結論:如果滿足這三大條件,則並不一定只能用深度神經網絡。

由於神經網絡存在的一些缺陷,很多時候人們不得不考慮其他的模型。周志華介紹了他所領導的團隊提出的 gcforest 方法,稱該方法有良好的跨任務表現、自適應的模型複雜度等優勢。

而對於 gcforest 研究的重要意義,正如周志華在分享中表示的那樣,深度學習是一個黑屋子,以前大家都知道它裡面有深度神經網絡,現在我們把這個屋子打開了一扇門,把 gcforest 放進來,我想以後可能還有更多的東西,這是這個工作從學術科學發展上更重要的價值所在。

周志華教授是美國計算機學會 (ACM)、美國科學促進會 (AAAS)、國際人工智能學會 (AAAI) 、國際電氣電子工程師學會 (IEEE) 、國際模式識別學會 (IAPR)、國際工程技術 (IET/IEE) 等學會的會士,實現了 AI 領域會士大滿貫,也是唯一一位在中國大陸取得全部學位的 AAAI 會士,對於機器學習中的集成學習、多標記學習與半監督學習有著卓越的貢獻。他還一手參與創建了南京大學人工智能學院並擔任院長。

下面是演講全文,AI科技大本營整理:

各位可能最近都聽說我們南京大學成立了人工智能學院,這是中國 C9 高校的第一個人工智能學科。今天就跟大家談一談我們自己對於深度學習的一點點非常粗淺的看法,僅供大家批評討論。

什麼是深度學習?

我們都知道現在人工智能很熱,掀起這股的熱潮最重要的技術之一就是深度學習技術。今天當我們談到深度學習的時候,其實已經可以看到在各種各樣的應用,包括圖像、視頻、聲音、自然語言處理等等。如果我們問一個問題,什麼是深度學習?大多數人基本會認為,深度學習差不多就等於深度神經網絡。

我給大家看一個例子。有一個非常著名的學會是國際工業與應用數學學會,他們有一個報紙叫 SIAM News。去年 6 月份的頭版上有一篇文章,它裡面的重點說的就是深度學習是什麼?它(深度學習)是機器學習的一個子域(subfield),這裡面要用深度神經網絡。

周志華:滿足這三大條件,可以考慮不用深度神經網絡

所以基本上如果我們要談深度學習的話,首先要從神經網絡開始。神經網絡並不是一個新生事物,人們已經研究了超過半個世紀。但以往的話我們會用這樣的神經網絡,就是中間有一個隱層或者有兩個隱層。在這樣的神經網絡裡面,它的每一個單元是一個什麼樣的東西呢?是個非常簡單的計算模型。

比如說這麼一個計算模型,實際上半個多世紀以前我們就已經總結出來了。我們收到一些輸入,這些輸入通過一些連接放大,到了細胞之後,它的“加和”如果超過一個閾值,這個細胞就激活了。實際上說穿了就是這麼一個非常簡單的公式,所謂的神經網絡就是很多這樣的公式通過嵌套迭代得到的一個數學系統。

今天我們說深度神經網絡的時候指的是什麼?其實簡單來說就是用的神經網絡有很多層,很深很深。大概多少?看一個數據,2012 年深度學習剛剛受到大家的重視的時候,一個 ImageNet 競賽的冠軍用了 8 層,2015 年 152 層,2016 年 1207 多層,這是一個非常龐大的系統。

周志華:滿足這三大條件,可以考慮不用深度神經網絡

要把這個系統訓練出來難度非常大,但有一個非常好的消息,真正的神經網絡裡面的計算單元,它最重要的激活函數是連續的,是可微的。以前在神經網絡裡面我們經常用 Sigmoid,它是連續可微的,現在在深度神經網絡裡,我們經常用 tanh 或者 tanh 的變體,它也是連續可微的。有了這麼一個性質以後,我們會得到一個非常好的結果,這個結果就是現在我們可以很容易計算系統的梯度。因此就可以很容易用著名的 BP 算法(注:反向傳播算法)來訓練這系統。

今天通過這樣的算法,神經網絡已經取得了非常多的勝利,但實際上在學術界大家一直沒有想清楚一件事情,就是我們為什麼要用這麼深的模式?可能今天有很多人會說深度學習已經取得了很多的成功,但它一個很大的問題就是理論基礎不清楚,我們理論上還說不清楚它到底怎麼做?為什麼會成功?這裡面的關鍵是什麼?其實我們根本不知道該從什麼角度去看它。因為如果我們要做理論分析的話,首先應該有一點直覺,你到底因為什麼有用,在這條路上往前走才能有關鍵的結果。

關於深度神經網絡為什麼能深,其實這件事情到今天為止學術界都沒有統一的看法。在這裡面給大家講一個我們前一段時間給出的論述,這個論述其實是從主要模型的複雜度的角度來討論的。

深度學習成功的關鍵是什麼?

我們知道一個機器學習模型的複雜度實際上和它的容量有關,而這個容量直接決定了它的學習能力,所以說學習能力和複雜度是有關的。其實我們老早就知道,如果我們能夠增強一個學習模型的複雜度,它的學習能力就能夠提升,那麼怎樣去提高複雜度呢?

對神經網絡這樣的模型來說有兩條很明顯的途徑,一條是我們把模型變深,一條是我們把它變寬,但是如果從提升複雜度的角度,變深會更有效。當你變寬的時候你只不過增加了一些計算單元、增加了函數的個數,而在變深的時候不僅增加了個數,其實還增加了嵌入的層次,所以泛函的表達能力會更強。所以從這個角度來說,我們應該嘗試變深。

周志華:滿足這三大條件,可以考慮不用深度神經網絡

大家可能就會問了,既然要變深,你們不早就知道這件事了嗎?為什麼現在才開始做呢?其實這就涉及到另外一個問題,我們在機器學習裡面把學習能力變強了,這其實未必真的是一件好事。因為我們機器學習一直在鬥爭的一個問題,就是我們經常會碰到過擬合。

給定一個數據集,我們希望把數據集裡的東西學出來,但是有時候可能把這個數據本身的一些特性學出來了,而這個特性卻不是一般的規律。當把學出來的錯誤東西當成一般規律來用的時候,就會犯巨大的錯誤,這種現象就是過擬合。為什麼會把數據本身的特性學出來?就是因為我們的模型學習能力太強了。

所以以往我們不太用太複雜的模型,為什麼現在我們可以用這樣的模型?其實有很多因素,第一個因素是現在我們有很大的數據,那麼比如說我手上如果只有 3000 多數據,學出來的特性就不太可能是一般規律。但是如果有三千萬、甚至三千萬萬的數據,那麼這些數據裡的特性本來就是一般規律,所以使用大的數據本身就是緩解過擬合的關鍵條件。

第二個因素,今天有很多很強大的計算設備,所以才能夠訓練出這樣的模型,同時通過領域裡很多學者的努力,我們有了大量關於訓練這樣複雜模型的技巧和算法,所以這使得我們使用複雜模型成為可能。

按照這個思路來說,其實有三件事:第一,我們今天有更大的數據;第二;有強力的計算設備;第三,有很多有效的訓練技巧。

這導致我們可以用高複雜度的模型。而深度神經網絡恰恰就是一種很便於實現的高複雜度的模型。所以這麼一套理論解釋,如果我們說它是一個解釋的話,它好像是能告訴我們為什麼我們現在能用深度神經網絡。為什麼它能成功?就是因為複雜度大。

周志華:滿足這三大條件,可以考慮不用深度神經網絡

在一年多之前,我們把這個解釋說出來的時候,其實國內外很多同行也很贊同這麼一個解釋,因為大家覺得這聽起來蠻有道理的,其實我一直對這個不是特別滿意,這是為什麼?其實有一個潛在的問題我們一直沒有回答。如果從複雜度解釋的話,我們就沒有辦法說為什麼扁平的或者寬的網絡做不到深度神經網絡的性能?因為事實上我們把網絡變寬,雖然它的效率不是那麼高,但是它同樣也能起到增加複雜度的能力。

實際上我們在 1989 年的時候就已經有一個理論證明,說神經網絡有萬有逼近能力:只要你用一個隱層,就可以以任意精度逼近任意複雜度的定義在一個緊集上的連續函數。

其實不一定要非常深。這裡面我要引用一個說法,神經網絡有萬有逼近能力,可能是有的人會認為這是導致神經網絡為什麼這麼強大的一個主要原因,其實這是一個誤解。

我們在機器學習裡面用到的所有模型,它必須具有萬有逼近能力。如果沒有這個能力,根本不可用。所以最簡單的,哪怕傅立葉變換,它就已經有這個能力,所以這個能力不是神經網絡所特有的。那我們在這兒要強調的一件事情是什麼?其實我只要有一個隱層,我加無限度的神經元進去,它的能力也會變得很強,複雜度會變得很高。但是這樣的模型無論在應用裡面怎麼試,我們發現都不如深度神經網絡好。所以從複雜的角度可能很難解決這個問題,我們需要一點更深入的思考。

周志華:滿足這三大條件,可以考慮不用深度神經網絡

所以我們要問這麼一個問題:深度神經網絡裡面最本質的東西到底是什麼?今天我們的答案可能是要做表示學習的能力。以往我們用機器學習,首先拿到一個數據,比如這個數據對象是一個圖像,我們就用很多特徵把它描述出來,比如說顏色、紋理等等,這一些特徵都是我們人類專家通過手工來設計的,表達出來之後我們再去進行學習。

而今天我們有了深度學習之後,現在不再需要手工設計特徵,把數據從一端扔進去,模型從另外一端出來,中間所有的特徵完全通過學習自己來解決,這是所謂的特徵學習或者表示學習,這和以往的機器學習技術相比是一個很大的進步,我們不再需要完全依賴人類專家去設計特徵了。

有時候我們的工業界朋友會說,這裡面有一個很重要的叫做端到端學習,大家認為這個非常重要。其實這一件事情要分兩個方面來看:一個方面當我們把特徵學習和分類器學習聯合起來考慮,可以達到聯合優化的作用,這是好的方面;但另一方面,如果這裡面發生什麼我們不清楚,這時候端到端的學習不一定真的好,因為可能第一部分往東,第二部分往西,合起來看往東走的更多一些,其實內部有一些東西已經抵消了。

實際上機器學習裡面早就有端到端學習,比如說做特徵選擇,但這類方法是不是比其它特徵選擇的方法要強?不一定,所以這不是最重要的,真正重要的還是特徵學習或者表示學習。

我們再問下一個問題,表示學習最關鍵的又是什麼?對這件事情我們現在有這麼一個答案,就是逐層的處理。現在我們就引用非常流行的《深度學習》一書裡的一張圖,當我們拿到一個圖像的時候,如果我們把神經網絡看作很多層的時候,首先在最底層我們看到是一些像素的東西,當我們一層一層往上的時候,慢慢的有邊緣,再往上有輪廓等等,在真正的神經網絡模型裡不一定有這麼清晰的分層,但總體上確實是在往上不斷做對象的抽象。

周志華:滿足這三大條件,可以考慮不用深度神經網絡

而這個特點,我們現在認為這好像是深度學習真正成功的關鍵因素之一,因為扁平神經網絡能做很多深層神經網絡所做的事,但是有一點它做不到:當它是扁平的時候,就沒有進行一個深度加工,所以深度的逐層抽象可能很關鍵。那如果我們再看一看,大家可能就會問,其實逐層處理這件事,在機器學習裡也不是一個新東西。

以前有很多逐層處理的東西,比如說決策樹,它就是逐層處理,這是非常典型的模型。這個已經有五六十年的歷史了,但它為什麼做不到深度神經網絡這麼好呢?首先它的複雜度不夠,因為決策樹的深度,如果我們只考慮離散特徵,其最深的深度不會超過特徵的個數,所以它的模型複雜度有上限;第二整個決策樹的學習過程中,它內部沒有進行特徵變化,始終是在一個特徵空間裡面進行,這可能也是一個問題。

大家如果對高級一點的機器學習模型有所瞭解,你可能會問,現在很多 Boosting 模型也是一層一層往下走,為什麼它沒有取得深度學習的成功?我想問題其實差不多,首先複雜度還不夠,第二,更關鍵的一點,它始終在原始空間裡面做事情,所有的這些學習器都是在原始特徵空間,中間沒有進行任何的特徵變換。

深度神經網絡到底為什麼成功?裡面的關鍵原因是什麼?我想首先我們需要兩件事,第一是逐層地處理,第二我們要有一個內部的特徵變換。而當我們考慮到這兩件事情的時候,我們就會發現,其實深度模型是一個非常自然的選擇。有了這樣的模型,我們很容易可以做上面兩件事。但是當我們選擇用這麼一個深度模型的時候,我們就會有很多問題,它容易 overfit,所以我們要用大數據,它很難訓練,我們要有很多訓練的 trick,這個系統的計算開銷非常大,所以我們要有非常強有力的計算設備,比如 GPU 等等。

周志華:滿足這三大條件,可以考慮不用深度神經網絡

實際上所有這些東西是因為我們選擇了深度模型之後產生的一個結果,他們不是我們用深度學習的原因。所以這和以往我們的思考不太一樣,以往我們認為有了這些東西,導致我們用深度模型,現在我們覺得這個因果關係恰恰是反過來的——因為我們要用它,所以我們才會考慮上面的這些東西。

而另外還有一點我們要注意,當我們要有很大的訓練數據的時候,這就要求我們必須要有很複雜的模型。假設我們有一個線性模型的話,給你 2000 萬要的還是 2 億的樣本,其實對它不是太大區別,它已經學不進去。而我們有了充分的複雜度,其實我們看到恰恰它又給我們使用深度模型加了一分。

由於這幾個原因,我們才覺得可能這是深度學習裡面最關鍵的事情。所以這是我們現在的一個認識:第一我們要有逐層的處理;第二我們要有特徵的內部變化;第三,我們要有足夠的模型複雜度。

這三件事情是我們現在認為深度神經網絡為什麼能夠成功的關鍵原因,或者說這是一個猜測。如果滿足這幾個條件,我其實可以馬上想到,不一定真的要用神經網絡,神經網絡是選擇的幾個方案之一,我只要同時做到這三件事,別的模型也可以,並不一定只能用深度神經網絡。

周志華:滿足這三大條件,可以考慮不用深度神經網絡

深度神經網絡的缺陷

我們就要想一想,我們有沒有必要考慮神經網絡之外的模型?其實是有的。因為大家都知道神經網絡有很多缺陷。

第一,凡是用過深度神經網絡的人都知道,你要花大量的精力來調它的參數,因為這是一個巨大的系統。這裡面會帶來很多問題,首先當我們調參數的時候,這個經驗其實是很難共享的。有的朋友可能說,我在第一個圖像數據集之上調數據的經驗,當我用第二個圖像數據集的時候,這個經驗肯定可以重用的。但是我們有沒有想過,比如說我們在圖像方面做了一個很大的神經網絡,這時候如果要去做語音,其實在圖像上面調參數的經驗,在語音問題上可能基本上不太有借鑑作用,所以當我們跨任務的時候,經驗可能就很難有成效。

而且還帶來第二個問題,我們今天都非常關注結果的可重複性,不管是科學研究、技術發展,都希望這結果可重複,而在整個機器學習領域裡面,深度學習的可重複性是最弱的。我們經常會碰到這樣的情況,有一組研究人員發文章報告了一個結果,而這結果其他的研究人員很難重複。因為哪怕你用同樣的數據、同樣的方法,只要超參數的設計不一樣,你的結果就不一樣。

我們在用深度神經網絡的時候,模型的複雜度必須事先指定,因為在訓練模型之前,神經網絡是什麼樣就必須定了,然後才能用 BP 算法等等去訓練它。其實這就會帶來很大的問題,因為在沒有解決這個任務之前,我們怎麼知道這個複雜度應該有多大呢?所以實際上大家做的通常都是設更大的複雜度。

如果在座各位關注過去三四年裡深度神經網絡、深度學習領域的進展,你可以看到很多最前沿的工作在做什麼事呢?其實都是在有效地縮減網絡的複雜度。比如說 ResNet 網絡,還有最近大家經常用的模型壓縮等,其實我們想一想不都是把複雜度變小,實際上是先用了一個過大的複雜度,然後再降下來。

那麼我們有沒有可能在一開始就讓這個模型的複雜度隨著數據而變化?這一點對神經網絡可能很困難,但是對別的模型是有可能的。還有很多別的問題,比如說理論分析很困難,需要非常大的數據,黑箱模型等等。

周志華:滿足這三大條件,可以考慮不用深度神經網絡

如果我們看上面的獲勝者,今天很多還不是神經網絡,很多是像隨機森林等這樣的模型。如果我們真的仔細去關注,真的神經網絡獲勝的往往就是在圖像、視頻、聲音這幾類典型任務上,而在其它涉及到混合建模、離散建模、符號建模的任務上,其實神經網絡的性能比其它模型還要差一些。

所以如果我們從一個學術的角度重新總結下這件事,我們就可以看到,今天我們談到的深度模型基本上都是深度神經網絡。如果用術語來說的話,它是多層可參數化的可微分的非線性模塊所組成的模型,而這個模型可以用 BP 算法來訓練。

那麼這裡面有兩個問題:第一,我們現實世界遇到的各種各樣的問題的性質,並不是絕對都是可微的,或者能夠用可微的模型做最佳建模;第二,過去幾十年裡面,我們的機器學習界做了很多很多模型出來,這些都可以作為我們構建一個系統的基石,而中間有相當一部分模塊是不可微的。

周志華:滿足這三大條件,可以考慮不用深度神經網絡

那麼這些能不能用來構建深度模型?能不能通過構建深度模型之後得到更好的性能呢?能不能通過把它們變深之後,使得今天深度模型還打不過隨機森林這一些模型的任務,能夠得到更好的結果呢?

所以我們現在有一個很大的挑戰,這不光是學術上也是技術上的挑戰,就是我們能不能用不可微的模塊來構建深度模型。

周志華:滿足這三大條件,可以考慮不用深度神經網絡

其實這個問題一旦得到回答,我們同時就可以得到好多其他問題的回答。比如說深度模型是不是就是深度神經網絡?我們能不能用不可微的模型把它做深,這個時候我們不能用 BP 算法來訓練,同時我們能不能讓深度模型在更多的任務上獲勝。這個問題其實我們提出來之後在國際上也有一些學者提出了一些相似看法。比如大家都知道深度學習非常著名的領軍人物 Geoffrey Hinton 教授,他也提出來希望深度學習以後能不能擺脫 BP 算法來做,他提出這個想法比我們要更晚一些。所以我想這一些問題是站在很前沿的角度上做的探索。

那我們自己就受到這樣的一個啟發,我們要考慮這三件事,就是剛才跟大家分析得到的三個結論:第一要做逐層處理,第二是特徵的內部變換,第三我們希望得到一個充分的模型複雜度。

深度森林

我自己領導的研究組最近在這一方面做了一些工作,我們最近提出了一個 深度森林的方法。

周志華:滿足這三大條件,可以考慮不用深度神經網絡

在這個方法裡面我今天不跟大家講技術細節,它是一個基於樹模型的方法,主要是借用集成學習的很多想法。其次在很多不同的任務上,它的模型得到的結果和深度神經網絡是高度相似的,除了一些大規模的圖像等等。在其他的任務上,特別是跨任務表現非常好,我們可以用同樣一套參數,用在不同的任務中得到不錯的性能,就不需要逐任務的慢慢調參數。

還有一個很重要的特性,它有自適應的模型複雜度,可以根據數據的大小自動來判定該模型長到什麼程度。它的中間有很多好的性質,有很多朋友可能也會下載我們的開源代碼拿去試,到時候我們會有更大規模分佈式的版本等等,要做大的任務必須要有更大規模的實現,就不再是單機版能做的事。

但另一方面,我們要看到這實際上是在發展學科思路上一個全新的思路探索,所以今天雖然它已經能夠解決一部分問題了,但是我們應該可以看到它再往下發展,前景可能是今天我們還不太能夠完全預見到的,所以我這邊簡單回顧一下卷積神經網絡,這麼一個非常流行的技術,它其實也是經過了很長期的發展。

最早信號處理裡面關於卷積的出現,其實是有一個多世紀了,但是現在深度神經網絡的歷史是從 1962 年兩位諾貝爾獎得主關於生物視覺皮層的研究開始。但是不管怎麼樣第一次在神經網絡裡引入卷積是 1982 年,在此之後他們做了很多的工作,1989 年引入 BP 算法,那時算法就已經成型了,到了 1995 年第一次對 CNN 有了一個完整的描述,在 1998 年對美國支票的識別取得了很大的成功,在 2006 年提出了通過無監督逐層訓練深層模型,到了 2009 年這個技術被引到 CNN 裡,我們可以做深度的 CNN,2012 年深度的 CNN 被用在 ImageNet 比賽中,直接掀起了一波深度學習的浪潮。

周志華:滿足這三大條件,可以考慮不用深度神經網絡

回顧這段歷史,從卷積神經網絡開始出現,到這個算法真正在工業界取得巨大成效,中間經過了 30 年的發展,我經常說我們其實沒有什麼真正的顛覆性技術,所有的技術都是一步步發展。今天我們有新的探索,新的探索能夠解決一些問題,但我們應該往長遠看,在經過很多年,很多人的進一步努力後,今天的探索應該是為未來技術打下一個更加重要的基礎。

我們做的這一工作,我想它實際上是深度森林這一大類模型的開始,技術細節就不展開了,但是它全面的用到了集成學習裡,據我所知多樣性增強方面,所有的技術都用進去,所以如果大家感興趣,這是我自己寫的一本書。

周志華:滿足這三大條件,可以考慮不用深度神經網絡

我所做的工作的最重要的意義是什麼呢?以前我們說深度學習是一個黑屋子,這個黑屋子裡面有什麼東西呢?大家都知道它有深度神經網絡,現在我們把這個屋子打開了一扇門,把深度森林放進來,我想以後可能還有更多的東西。所以這是這個工作從學術科學發展上的意義上,有一個更重要的價值。

AI時代最重要的是人才

最後我想用兩分鐘的時間談一談,南京大學人工智能學院馬上跟京東開展全面的、深入的在科學研究和人才培養方面的合作。

關於人工智能產業的發展,我們要問一個問題,我們到底需要什麼?大家說需要設備嗎?其實做人工智能的研究不需要特殊機密的設備,你只要花錢,這些設備都買得到,GPU 這些都不是什麼高端的禁運的商品。第二是不是缺數據?也不是,現在我們的數據收集存儲、傳輸、處理的能力大幅度的提升,到處都是數據,真正缺的是什麼?

其實人工智能時代最缺的就是人才。因為對這個行業來說,你有多好的人,才有多好的人工智能。所以我們現在可以看到,其實全球都在爭搶人工智能人才,不光是中國,美國也是這樣。所以我們成立人工智能學院,其實就有這樣的考慮。

周志華:滿足這三大條件,可以考慮不用深度神經網絡

信息化之後人類社會必然進入智能化,可以說這是一個不可逆轉、不可改變的一個趨勢。因為我們基於數據信息為人提供智能輔助,讓人做事更容易,這是我們所有人的願望。蒸汽機的革命是把我們從體力勞動裡面解放出來,人工智能革命應該是把我們人類從一些反覆性強的簡單智力勞動中解放出來,而且人工智能這一個學科和其他短期的投資風口和短期熱點不太一樣,它經過 60 多年的發展,已經有了一個龐大的、真正的知識體系。

周志華:滿足這三大條件,可以考慮不用深度神經網絡

可能我們投資風口裡面有一些詞,今年還很熱,明年就已經不見了,這些詞如果我們追究一下,它裡面科學含義到底是什麼?可能沒幾個人說的清楚,而人工智能和這些東西完全不一樣,是經過 60 多年發展出來的一個學科。

高水平的人工智能人才奇缺,這是一個世界性的問題,我們很多企業都是重金挖人,但實際上挖人不能帶來增量,所以我們要從源頭做起,為國家、社會、產業的發展培養高水平的人工智能人才。


分享到:


相關文章: