肖文波 葉國敏 陳 敏 程小金 龔勇清
(南昌航空大學國家級大學物理實驗教學示范中心 江西 南昌 330063)
隨著世界上人工智能教學的快速發展[1],國內《新一代人工智能發展規劃》提出:人工智能教育培養日益迫切.不僅高校提倡人工智能應用于教學[2],更有中小學開設人工智能課程[3].將人工智能納入教學中,不僅推動了人工智能與教師教育的深度融合實現高效管理[4,5],而且推進了人工智能與教育的共生發展[6,7].當前研究關注人工智能應用中某一課程或者某一專業教學改革方面,例如人工智能與統計學課程[8]、麻醉學專業等結合[9].而實際上,人工智能教學不能僅停留在知識獲取、技能學習上,還需要聚焦創新能力的培養[10,11].由此有研究探討了人工智能課程中的基本算法與模型,培養學生基本知識與解決問題能力[12].但仍然缺乏以人工智能教學為基礎,分析并討論其中問題及注意事項.
為此,本文以人工智能技術中粒子群算法為基礎,討論了人工智能基本原理;并應用于基于光伏發電最大功率點的跟蹤[13],探討了粒子群尋優算法的建立原理與方式,結合教學及學生學習心得總結出了教學注意事項.該研究為人工智能技術的教學與實踐提供參考.
人工智能技術是模擬思維過程和智能行為(如學習、推理等)的學科,主要是通過邏輯思維來不斷學習與進步.人工智能技術中粒子群算法是1995年Kennedy和Eberhart首次提出,是通過模擬鳥群覓食行為發展而來的一種多極值函數全局優化方法[14~16].實際上,粒子群智能算法教學目標有3個方面:
第一,學生能夠理解粒子群算法的基本概念以及流程.
第二,學生能夠掌握粒子群算法的實現原理及模型公式.
第三,學生能夠知道影響粒子群算法的主要參數.
下面就圍繞上述3個目標闡述.
粒子群算法的基本流程如下.
第一步,初始化粒子,首先初始化粒子群算法中各個參數的數值,主要包括種群規模、學習因子、慣性權重等.
第二步,評價粒子,由適應度函數計算出粒子的適應值.
第三步,尋找群體中的個體最優值和全局最優值.
第四步,更新粒子的位置和速度.
第五步,重新計算粒子的適應度值并和之前的比較.
第六步,更新個體最優值與全局最優值.
第七步,檢驗是否終止,如果搜索結果達到收斂精度或者是設定迭代次數,那么迭代終止并輸出最終解.如果不滿足,就跳轉至第四步繼續迭代計算.
具體過程如圖1所示.

圖1 粒子群算法流程圖
算法實現原理是通過迭代找到最優解,在種群規模N的粒子群中迭代,粒子通過跟蹤兩個“極值”來更新自己.第一個就是粒子本身所找到的最優解,另一個極值是整個種群找到的最優解,即全局極值.
找上述兩個最優值時,根據如下的公式來更新自身的速度(v)和位置(x).
(1)
(2)
式中,ω為慣性權重,d表示搜索空間維數,i表示粒子序號,c1和c2為學習因子,r1和r2為(0,1)之間均勻分布的隨機數,t表示迭代次數.Pbest表示個體最優值和Gbest表示全局最優值.每次迭代中,速度都限制在[-vmax,vmax]內.群中每個粒子都從初始速度與位置開始,按照上述公式迭代計算,直到滿足條件.
由上述原理與模型公式,可以看出算法中參數有著重要的意義,將會直接決定算法的終止時間以及精確度等.以下將介紹算法中典型參數意義.
種群規模N:算法的收斂時間受種群規模大小的直接影響,如果N比較小,那么算法很有可能陷入局部極值,但是收斂時間較短;當N很大時,算法的精確性與收斂性提高,但是也會增加計算的復雜度.
粒子的最大速度vmax:合理的最大速度可以避免算法迭代時出現發散.vmax較大時,雖然粒子的尋優速度快,但是越過最優值的可能性較大.如果vmax過小,雖然不會越過最優解,但是粒子搜尋速度過慢并且容易限于局部極值難于擺脫,降低算法效率.
慣性權重ω:粒子群算法中最為重要的研究參數.算法的初始階段,較大的ω能夠防止算法陷入局部最優,在算法的后期,較小的ω能夠提升收斂速度,并且使收斂更加平穩.
學習因子c1和c2:c1調整粒子飛向個體極值的比重,c2調整粒子飛向全局極值的比重.學習因子比較小時,會導致粒子在接近目標區域時被拉回;學習因子較大時,粒子搜索速度太快導致越過目標地區.
對1×2串聯光伏陣列的8種遮蔭下最大峰值功率進行跟蹤,陣列在遮蔭下光伏發電原理[17,18]的Matlab/Simulink仿真數據如表1所示.表1是串聯光伏陣列中第一塊電池和第二塊電池的光照強度不同,對應的每一種遮蔭下峰值功率也不一樣.

表1 八種遮蔭模式下電池功率及其峰值電壓
粒子群算法中的參數將影響人工智能技術的性能,為此教學中需討論參數對尋優的影響規律.對上面8種遮蔭下峰值功率進行尋優,主要通過改變種群規模、學習因子、慣性權重、最大速度等參數,討論了平均跟蹤時間與峰值功率跟蹤精度變化.
2.2.1 種群規模
根據調整種群規模的大小,來分析種群規模對粒子群算法的速度和精度的影響,設置了5組種群規模,其具體結果如表2所示.

表2 不同種群規模下算法尋優的跟蹤
由上表可知,種群數目從20到100時,時間從0.109 7 s增加至0.579 9 s,峰值功率跟蹤精度從94.995 2%增加至99.415 2%.綜上所述,種群越大速度越慢,搜索精度越高.
2.2.2 學習因子
設置了5組學習因子,來分析學習因子對算法速度和精度的影響,具體結果如表3所示.

表3 不同學習因子下算法尋優的跟蹤
由上表中跟蹤時間上看,當c1=c2=1.7時,粒子群算法的跟蹤時間在所設5組中是最短的;從峰值跟蹤精度上看,當c1=c2=2時,其粒子群算法的峰值精度在所設5組中是最高的.由此,可知合理的學習因子可以減少跟蹤時間,提高跟蹤精度.此外,可知跟蹤時間越長,其精度越高.
2.2.3 慣性權重
設置了5組慣性權重,來分析慣性權重對粒子群算法速度和精度的影響,具體結果如表4所示.

表4 不同慣性權重下算法尋優的跟蹤
由上表中跟蹤時間、精度可以看出,慣性權重在0.6~0.7中,其展現出的性能更為穩定,雖然時間不是最佳,但是其精度是最好的.優化的慣性權重有利于粒子群算法的搜索.
2.2.4 最大速度
設置了5組最大速度,來分析最大速度對粒子群算法速度和精度的影響,具體結果如表5所示.

表5 不同最大速度下算法尋優的
從上表可以發現,最大速度vmax=3 m/s時,精度是最高的,當最大速度vmax=4 m/s時,其跟蹤時間最短.綜上所述,最大速度在2.5~4.5 m/s中時,粒子群算法的跟蹤時間與精度方面有優勢.
上述智能算法技術平臺搭建好后,應用于教學過程中;根據學生認識、熟悉和掌握算法的程度以及實驗后的討論,得出開展該類算法實驗需要注意的事項,并總結了提高教學效果的途徑.具體如下.
(1)在實驗之前,較多學生對算法相關知識與基礎預習少,導致他們對實驗內容還是不清楚且很難理解到實驗的真諦,這就有悖做實驗的目的.所以,該類實驗也會降低教師的授課質量,增加教學難度.為了提高教學質量,任課教師最好通過網絡手段在課前給學生們提供相關知識的指導,例如通過QQ、微信平臺、郵件等發相關資料給學生們,并提醒他們及時預習.
(2)實驗中的重點、難點是具體問題與人工智能算法結合時的知識表示.本文中結合粒子群算法對遮蔭下光伏發電最大功率點的預測是實驗內容,但明確算法的流程及其原理是目的.重點是培養人工智能與具體應用的結合能力.由于部分學生缺乏光伏發電最大功率點的預測知識,并且糾結于matlab/simulink軟件上實現各種仿真模塊的使用,導致他們對算法結論的理解不足,無法體會到算法的特點等.所以,該類實驗教學中,應該重點強調教學結果的討論,以便學生得出明確結論.
(3)人工智能算法與傳統學科最大的區別在于,傳統學科的知識體系大都是公式化的.而目前人工智能算法是概率化、訓練化的.尤其是該類算法可以和學生的興趣愛好、生活習慣等結合,應用算法來分析各種具體問題.此外,還要引導學生對算法本身思考,具體就是在選擇知識表示時應該考慮的影響因素及規律有哪些?建立正確的分析模型.而不只是編程操作一下.
(4)實驗的教學手段中,除了相關理論知識的講解,當然實踐操作也很重要.編程算法過程中,碰見問題,任課教師不要簡單粗暴地直接回答問題,而應該引導學生們之間互動地解決問題.互動學習更能增加學生的熱情,讓學生投入到實驗中去.
總之,盡管人工智能教學目前很“火”,但重要是幫助學生將人工智能置身于智能科學的大背景中,既包含了自然智能、計算智能等學科,更要包括邏輯判斷、非線性處理等學科.此外,也提醒教育管理者要進一步完善人工智能相關課程體系的配置和優化.
人工智能技術的建立及其特征的教學討論,有利于學生理解相關知識.為此,本文以粒子群算法為例,結合遮蔭下光伏發電最大峰值功率跟蹤進行了闡述,并討論了教學注意事項.通過上述教學討論,得出及時預習相關基礎知識有利于學生理解人工智能技術,結合具體問題討論人工智能算法將有利于學生掌握技術,拓展人工智能技術應用范圍并引導學生對算法本身思考將有助幫助學生建立正確模型,建立互動式解決實驗問題將增加學生的學習熱情.