999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于實時反饋強化學習神經網絡的船舶艏搖智能控制研究

2024-12-31 00:00:00宋偉偉徐躍賓段學靜鞏方超崔英明
現代信息科技 2024年8期

摘 要:文章提出了一種基于實時反饋強化學習神經網絡控制的船舶艏搖智能控制方法。該方法將神經網絡的非線性建模和強化學習的自適應控制技術相結合,能夠實現對船舶航行過程中舵角的精確控制。并將PID控制算法、模型預測控制算法和實時反饋強化學習神經網絡控制算法進行對比分析,仿真實驗結果表明,后者在控制效果和穩定性方面均優于前兩種方法,能夠有效地提高船舶航行過程中舵角的控制精度和魯棒性。

關鍵詞:實時反饋;強化學習;神經網絡;船舶艏搖

中圖分類號:TP39;TP18;U664.82 文獻標識碼:A 文章編號:2096-4706(2024)08-0083-06

0 引 言

船舶艏搖角是指船舶前部相對于靜水面的搖晃角度,是船舶在海洋航行中常見的運動模態之一。艏搖角的大小和穩定性直接關系到船舶的航行性能和安全性,因此艏搖角控制一直是船舶運動控制的重要研究領域。傳統的艏搖角控制方法主要基于PID控制算法或者模型預測控制算法,這些方法在控制效果和穩定性方面存在一定的局限性。一方面,PID控制算法需要根據船舶艏搖角的測量值計算控制量,而船舶運動傳感器的數據受到環境因素和傳感器自身誤差的影響,容易產生誤差和漂移,從而影響控制效果。另一方面,模型預測控制算法需要建立艏搖角動力學模型,但是艏搖角動力學模型的復雜性和不確定性使得模型預測控制算法的控制效果和穩定性受到限制。近年來,強化學習作為一種基于試錯學習的智能控制方法,基于智能體與環境的交互學習不斷試錯和反饋,探索環境來獲取獎勵信號,從而得到最優的行為策略,從而提高控制系統的性能和魯棒性[1]。基于實時反饋強化學習神經網絡模型的船舶艏搖智能控制系統,能夠實現對舵角的精確控制,提高船舶艏搖角的控制精度和魯棒性,對船舶的穩定性和航行效率有至關重要的作用。

1 幾種控制方法對比研究

1.1 傳統的PID控制方法

目前,船舶艏搖控制主要采用傳統的PID控制方法,但存在許多局限性,如模型參數難以確定、魯棒性不夠、適應性不足等,只能根據已知的船舶動態模型進行控制,不能根據實時反饋信息及時調整控制策略,因此對于系統的魯棒性、穩定性以及適應性較差,特別是對于存在未知干擾或模型不準確的情況下,PID控制的性能會急劇下降[2]。

1.2 強化學習方法

為了解決PID控制方法存在的問題,近年來,越來越多的研究者開始探索基于機器學習的控制方法。其中,強化學習(RL)方法因其在不確定環境下自適應學習的能力,成為船舶自動化控制領域的研究熱點之一。強化學習通過不斷試錯的方式,不斷調整船舶控制策略,最大限度地發揮預設的獎勵功能。相比傳統的控制方法,強化學習的適應性和魯棒性更強。

強化學習的基本框架可以概括為四個主要元素:狀態(state)、動作(action)、獎勵(reward)和策略(policy)。狀態表示環境現在的狀態,動作表示智能體可選的行動,獎勵表示智能體的行動質量,策略是智能體根據其經驗采取行動的規則[3]。其目的是在不確定的環境中學習行為策略,以最大化預期的累積回報。在強化學習中,智能體(即學習算法)通過與環境交互來學習,從而獲得有關其當前狀態和可用動作的信息。通過試錯學習來改善其決策策略,通過策略學習來學習如何在給定的狀態下選擇動作。強化學習算法可以分為價值基礎算法和策略基礎算法。價值基礎算法的目標是學習如何評估狀態和動作的質量,例如Q-learning算法和SARSA算法。策略基礎算法的目標是直接學習最優策略,例如Policy Gradient算法和Actor-Critic算法。近年來,深度強化學習結合了深度學習和強化學習的優勢,使模型泛化能力更高,性能更好[4]。

1.3 實時反饋深度強化學習方法

基于實時反饋深度強化學習神經網絡模型的船舶艏搖角控制方法,利用深度強化學習的思想,通過學習環境狀態和動作的映射關系,得到優化的控制策略。具體來說,本文首先構建了船舶艏搖角控制的狀態空間,包括船舶的加速度、角速度、角度等狀態信息,并使用這些狀態信息進行強化學習網絡的訓練[5]。同時,還考慮了船舶存在的未知干擾因素,對于未知干擾的影響,使用了一種基于模型預測控制(MPC)的方法,通過預測未來狀態來優化控制策略,提高系統的魯棒性。

2 實時反饋深度強化學習神經網絡模型介紹

2.1 基本原理

實時反饋深度強化學習神經網絡模型是強化學習在實時控制問題上的應用,結合了實時反饋和神經網絡的特點。其基本原理是通過學習環境狀態和采取行動的反饋,通過調整模型參數實現對行動的優化[6]。

具體來說,狀態表示環境的特征,動作是智能體對環境的反應,獎勵是智能體行動的結果,策略則是智能體在不同狀態下采取的行動規則。模型通過不斷地嘗試,學會了在不同狀態下最大限度地發揮獎勵的作用,從而將最優的動作選擇出來。

2.2 算法設計

基于值函數和策略函數進行優化。其中,值函數用于估計智能體在當前狀態下采取某一行動的長期收益,策略函數則用于指導智能體在不同狀態下的行動選擇。在實時反饋深度強化學習神經網絡模型中,值函數和策略函數通常使用神經網絡進行建模。

在訓練過程中,智能體通過與環境的交互不斷優化神經網絡的參數,以學習到最優的值函數和策略函數。每一步都需要計算當前狀態下的最優行動,根據執行的行動和獲得的獎勵來更新神經網絡的參數,從而實現模型的優化和學習。實時反饋深度強化學習神經網絡模型的優點是能夠處理實時控制問題,且具有很好的通用性和可擴展性。

3 實驗評價指標和方法

3.1 評價指標

為了評價所提出的實時反饋深度強化學習神經網絡模型的控制效果,本文采用了以下七個評價指標:

1)訓練情況:訓練過程中的訓練曲線,可以了解模型在不同迭代次數下的表現,并進行調整和優化。

2)模型性能:通過評估模型的預測結果與真實值之間的差距,計算方式為預測值與真實值之差的平方和的平均值,我們主要采用實時的輸出值與目標值的差距和誤差柱狀圖對模型性能進行評估。

3)模型誤差直方(EH):模型對于預測結果與訓練數據和測試數據真實結果之間的區別。誤差可以是正值、負值或者零,正值表示模型偏高估計,負值表示模型偏低估計,而零表示模型的預測完全正確。可以提現出模型的預測精度。

4)誤差自相關性(EA):在時間序列分析中,同一序列內相鄰時間點的誤差值之間存在相關性的現象。也就是說,前一個時間點的誤差值與后一個時間點的誤差值之間存在一定的相關性。

誤差自相關性可能會導致模型的預測效果不佳,因為如果誤差具有一定的自相關性,那么模型預測出的誤差也會受到之前誤差的影響,從而可能會導致模型的預測結果出現較大的偏差。

5)最大偏差角度(MAD):艏向角在規定時間內的最大偏差值,衡量了模型對于控制目標的精度和穩定性。

6)穩態最大偏差角度(SSD):當模型達到穩定狀態時,艏向角與目標角度之間的偏差值,衡量了模型的穩態性能。

7)調整時間(TAT):模型從初始狀態到達穩定狀態的時間是用來衡量模型的反應速度。

3.2 實驗方法

3.2.1 模型設計思路

實時反饋強化學習神經網絡模型,此模型可以做到實時反饋(5 s)數據,每5 ms采樣一次,采樣對象為艏搖角,每秒鐘采樣200次,5 s采樣的總數據集為1 000次,將5 s作為一個固定時間間隔。如圖1所示,我們假設將第一個時間間隔點設為t1,第二個時間間隔點為t2,第三個時間間隔點為t3,第四個時間間隔點為t4,t1到t2時間間隔為T1,t2到t3時間間隔為T2,t3到t4時間間隔為T3,T1 = T2 = T3 = 5 S。

船舶正常航行過程中,在t2時刻,將T1內的艏搖角、舵角實際值導入到Reinforcement Learning Designer模型中進行訓練,模型將在T2時間內訓練完成并輸出控制信號,來預測T3時間內的艏搖角、舵角數據,以達到預測控制。如圖1所示,在T3內,將T3實際艏搖角值與T3預測艏搖角值進行對比擬合,如若實際值與預測值擬合結果在設定范圍內,則證明模型優良,繼續循環此流程來預測T4、T5時間段內的數據;若T3的艏搖角實際值與艏搖角預測值擬合結果不在設定范圍內,則將擬合的差值反饋到模型來優化下一次的訓練。每次訓練的數據集總量為1 000。以此往復循環來預測下個時間間隔內的數據,從而實現對舵的預測控制。

3.2.2 模型搭建和訓練過程

1)數據預處理。我們首先需要對收集的過往的艏搖角和舵角數據集進行預處理。采用數據濾波和歸一化方法,以消除噪聲并使其適合于神經網絡的輸入。同時,將訓練數據劃分為訓練集和測試集。首先用Layer Normalization(LN)對數據進行歸一化處理,如圖2所示。因為LN相比于BN(Batch Normalization),LN不依賴于批次大小,并且可以處理變長序列數據。然后將數據集按70%、15%、15%的比例依次劃分為訓練集、測試集和驗證集,如圖3所示。

2)搭建時間序列神經網絡模型。使用長短期記憶網絡(LSTM)時間序列神經網絡來學習數據中的時間依賴關系和非線性性。對于船舶的艏搖角和舵角數據集,采用兩個獨立的時間序列神經網絡來分別學習它們的時間依賴性和非線性性。每個時間序列神經網絡都可以處理輸入序列,并輸出相應的預測值。

利用MATLAB搭建一個LSTM時間序列神經網絡的基礎模型,代碼如下:

% 加載數據集

data = readtable('dataset.csv');

inputs = table2array(data(:, 2:3))'; % 過往艏搖角和舵角值作為輸入

targets = table2array(data(:, 4:5))'; % 預測的艏搖角和舵角值作為輸出

% 將數據集分為訓練集和驗證集

numSamples = size(inputs, 2);

numTraining = round(numSamples * 0.8); % 80%用于訓練,20%用于驗證

indices = randperm(numSamples);

trainingIndices = indices(1:numTraining);

validationIndices = indices(numTraining+1:end);

trainingInputs = inputs(:, trainingIndices);

trainingTargets = targets(:, trainingIndices);

validationInputs = inputs(:, validationIndices);

validationTargets = targets(:, validationIndices);

% 定義LSTM網絡架構

numFeatures = size(inputs, 1); % 輸入特征數(艏搖角和舵角)

numResponses = size(targets, 1); % 輸出響應數(艏搖角和舵角)

numHiddenUnits = 200; % LSTM隱含層單元數

layers = [

sequenceInputLayer(numFeatures)

lstmLayer(numHiddenUnits, 'OutputMode', 'sequence')

dropoutLayer(0.2)

fullyConnectedLayer(numResponses)

regressionLayer

];

% 設置訓練選項

options = trainingOptions('adam', ...

'MaxEpochs', 100, ...

'MiniBatchSize', 64, ...

'ValidationData', {validationInputs, validationTargets}, ...

'ValidationFrequency', 10, ...

'Shuffle', 'every-epoch', ...

'Plots', 'training-progress');

% 訓練LSTM網絡

net = trainNetwork(trainingInputs, trainingTargets, layers, options);

% 測試LSTM網絡

testInputs = inputs(:, validationIndices);

testTargets = targets(:, validationIndices);

predictions = predict(net, testInputs);

% 繪制結果圖像

figure

subplot(2,1,1)

plot(testTargets(1,:))

hold on

plot(predictions(1,:))

title('艏搖角')

legend('實際值', '預測值')

subplot(2,1,2)

plot(testTargets(2,:))

hold on

plot(predictions(2,:))

title('舵角')

legend('實際值', '預測值')

3)搭建強化學習模型。采用策略梯度強化學習模型,以最大化某些獎勵信號并達到某個目標。接收來自時間序列神經網絡的預測值作為輸入,并輸出相應的行動。在這個模型中,將艏搖角值作為輸入;舵角值作為行動;當前的艏搖角值與模型預測的艏搖角值之間的誤差作為獎勵,當誤差較小或者模型性能較好時,可以給予正的獎勵;當誤差較大或者模型性能較差時,可以給予負的獎勵,以期望達到目標艏搖角作為獎勵信號;采用Reinforce深度強化學習算法作為策略。采用Q值函數可以通過神經網絡來建模,以當前狀態和行動作為輸入,預測未來的獎勵期望值作為輸出。

訓練過程可以分為兩個階段:探索階段和利用階段。在探索階段,模型隨機選擇行動,以探索更多的狀態空間。在利用階段,模型根據策略選擇最優行動。可以通過使用經驗回放和目標網絡等技術來提高訓練效率和穩定性。MATLAB代碼如下:

% 定義環境

env = rlPredefinedEnv(\"ShipEnvironment\");

% 定義狀態空間

obsInfo = getObservationInfo(env);

% 定義動作空間

actInfo = getActionInfo(env);

% 定義代理網絡

numHiddenUnits = 64;

statePath = [

imageInputLayer([obsInfo.Dimension(1) obsInfo.Dimension(2) 1],'Normalization','none','Name','observation')

fullyConnectedLayer(numHiddenUnits,'Name','fc1')

reluLayer('Name','relu1')

fullyConnectedLayer(numHiddenUnits,'Name','fc2')

reluLayer('Name','relu2')

fullyConnectedLayer(actInfo.Dimension(1),'Name',

'fc3')];

actorNet = layerGraph(statePath);

% 定義代理

agentOpts = rlACAgentOptions(...

'NumStepsToLookAhead',64, ...

'EntropyLossWeight',0.1, ...

'GradientThreshold',1);

agent = rlACAgent(actorNet,obsInfo,actInfo,agentOpts);

% 定義訓練選項

trainOpts = rlTrainingOptions(...

'MaxEpisodes',1000, ...

'MaxStepsPerEpisode',200, ...

'Verbose',1, ...

'Plots','training-progress', ...

'StopTrainingCriteria','AverageReward', ...

'StopTrainingValue',100, ...

'ScoreAveragingWindowLength',10);

% 訓練代理

trainStats = train(agent,env,trainOpts);

% 使用訓練好的代理進行預測

obs = reset(env);

for i = 1:200

action = getAction(agent,obs);

[obs,reward,done] = step(env,action);

if done

break

end

end

3.2.3 訓練結果

在訓練過程中,使用的優化器是Adam優化器,學習率為0.001。本文采用的是分批次進行訓練,每批次數據量為1 000,共訓練1 000次,每隔100次訓練,測試一次性能,并記錄最優性能所對應的訓練次數和參數。具體實驗結果如圖4所示。

如圖5所示,訓練結果符合預期各項指標,均在1 000次訓練內達到穩定效果,訓練時間均為5秒以內,符合設定的時間間隔。性能、梯度、誤差精度均在預期誤差內,模型訓練結果優良。

如圖6所示,模型在25輪前均方誤差有驟減趨勢,說明模型控制效率高;在100輪時,均方誤差趨于穩定,直到915輪輸出最終的艏搖角預測值和舵角控制信號,證明模型穩定性、安全性高。

如圖7、圖8所示,實時反饋強化學習神經網絡結果顯示出了良好的誤差分布直方圖和自相關性效果。

3.3 結論分析

在實驗中,比較了實時反饋強化學習神經網絡模型和傳統的PID控制方法在上述指標上的表現。為了使實驗結果更加客觀和準確,本文采用了10組不同的實驗數據,并將其平均化以得出最終結果。同時,每組實驗數據重復實驗5次,確保結果可靠。為了可以更好的體現模型的控制效果,我們將船舶原始航向角設為0°,我們將航向角設置為10°,來觀察實時控制效果,具體實驗數據如圖9所示。

4 結 論

本文基于實時反饋深度強化學習神經網絡模型的船舶艏搖角控制方法,在MATLAB/Simulink仿真環境下進行了大量實驗驗證。通過實驗應用的分析,模型控制的艏搖角最大偏差角為1.427 7,在慢慢訓練過程中逐漸趨于穩態,最大偏差角符合預期值。也證明了該方法的實際應用效果。在船舶智能操縱系統中使用本方法,可以提高船舶操縱員的工作效率和安全性。實驗結果表明,所提出的方法能夠適應不同的船舶動態模型和未知干擾。因此,對于提高船舶自動化控制水平、提高船舶安全性和經濟性具有一定的參考價值。

參考文獻:

[1] 理查德·桑頓,安德魯·巴圖.強化學習:第2版 [M].俞凱,等譯.北京:電子工業出版社,2019.

[2] MNIH V,KAVUKCUOGLU K,SILVER D,et al. Human-Level Control Through Deep Reinforcement Learning [J].Nature,2015,518(7540):529-533.

[3] SILVER D,HUANG A,MADDISON C J,et al. Mastering the Game of Go with Deep Neural Networks and Tree Search [J].Nature,2016,529(7587):484-489.

[4] MNIH V,BADIA A P,MIRZA M,et al. Asynchronous Methods for Deep Reinforcement Learning [C]//Proceedings of the 33rd International Conference on International Conference on Machine Learning.New York:JMLR.org,2016:1928-1937.

[5] 朱俊宏,林澤宇,潘柏群,等.基于深度強化學習的火車進路優化方法 [J].自動化學報,2021,47(6):1359-1368.

[6] 劉偉,趙立飛,王華鋒,等.基于DRL和LSTM的智能家居能耗預測模型研究 [J].計算機與數字工程,2021,49(7):1251-1257.

作者簡介:宋偉偉(1981.05—),女,漢族,山東榮成人,系副主任,教授,碩士研究生,研究方向:船舶運動控制;徐躍賓(2002.10—),男,漢族,山東淄博人,本科在讀,研究方向:船舶電子電氣技術;段學靜(1984.07—),女,漢族,河北保定人,實驗管理員,實驗師,本科,研究方向:電子技術;崔英明(1985.09—),男,漢族,山東榮成人,教師,工程師,本科,研究方向:船舶工程技術;鞏方超(1989.06—),男,漢族,山東棗莊人,講師,碩士,研究方向:電力系統及其自動化、機器視覺。

收稿日期:2023-10-04

基金項目:山東省船舶控制工程與智能系統工程技術研究中心科研專項(SSCC-2021-0006)

DOI:10.19850/j.cnki.2096-4706.2024.08.019

Research on Intelligent Control of Ship Yaw Based on Real-time Feedback Reinforcement Learning Neural Network

SONG Weiwei1,2, XU Yuebin2, DUAN Xuejing1,2, GONG Fangchao1,2, CUI Yingming2

(1.Research Center of Shandong Province Ship Control Engineering and Intelligent System Engineering and Technology, Weihai 264300, China; 2.Weihai Ocean Vocational College, Weihai 264300, China)

Abstract: This paper proposes an intelligent control method for ship yaw based on real-time feedback reinforcement learning neural network control. This method combines nonlinear modeling of neural networks with adaptive control technology of reinforcement learning to achieve precise control of rudder angle during ship navigation. And the PID control algorithm, model prediction control algorithm, and real-time feedback reinforcement learning neural network control algorithm are compared and analyzed. The simulation experiment results show that the latter is superior to the previous two methods in control effectiveness and stability, and could effectively improve the control accuracy and robustness of the rudder angle during ship navigation.

Keywords: real-time feedback; reinforcement learning; neural network; ship yaw

主站蜘蛛池模板: a级毛片一区二区免费视频| 国产午夜精品鲁丝片| 在线看AV天堂| 制服无码网站| 无码精品国产dvd在线观看9久| 国产亚洲精品无码专| 久久99国产精品成人欧美| 99久久亚洲精品影院| 国产精品成人一区二区不卡 | 日本高清免费一本在线观看| 国产成人av一区二区三区| 夜夜操国产| 91探花在线观看国产最新| 成色7777精品在线| av尤物免费在线观看| 国产区免费精品视频| 无码日韩视频| 国产伦片中文免费观看| 国产一级无码不卡视频| 又粗又大又爽又紧免费视频| 国产女人18毛片水真多1| 思思热在线视频精品| 欧美国产精品不卡在线观看| 亚洲va欧美ⅴa国产va影院| 色婷婷国产精品视频| 色成人综合| 国产v精品成人免费视频71pao| 88av在线播放| 国产精品va| 日韩欧美国产中文| 欧美亚洲国产精品久久蜜芽| AV无码无在线观看免费| 国产成人1024精品| 真实国产乱子伦视频| 亚洲午夜综合网| 亚洲丝袜第一页| 色婷婷电影网| 69av免费视频| 亚洲色图另类| 不卡网亚洲无码| 国产福利免费视频| 91国内外精品自在线播放| 国产自无码视频在线观看| 亚洲欧美另类色图| 久久公开视频| 久久综合九色综合97婷婷| 亚洲无码高清视频在线观看| 成人另类稀缺在线观看| 精品无码专区亚洲| 亚洲国产日韩欧美在线| 一区二区三区精品视频在线观看| 国产大全韩国亚洲一区二区三区| 国产精品无码一二三视频| 欧美在线国产| 伊人福利视频| 中文字幕亚洲无线码一区女同| a级毛片视频免费观看| jizz国产视频| 国产区精品高清在线观看| 亚洲精品在线91| 又黄又爽视频好爽视频| 最新精品久久精品| 69av在线| 成年人久久黄色网站| a级毛片免费播放| 色综合中文| 精品在线免费播放| 国产福利大秀91| 国产免费高清无需播放器| 欧美在线黄| 国产精品中文免费福利| 国产又色又刺激高潮免费看| 精品视频免费在线| 91精品免费久久久| 国产主播喷水| 国产日韩欧美一区二区三区在线| 久久国产精品麻豆系列| 精品国产Av电影无码久久久| 国产在线拍偷自揄观看视频网站| 欧美成一级| 国产女人18水真多毛片18精品| 国产区人妖精品人妖精品视频|