本發(fā)明屬于計算機技術領域,尤其涉及一種用于車輛自動駕駛的策略網絡模型的生成方法及裝置。
背景技術:
隨著經濟的發(fā)展和城鎮(zhèn)化的推進,全球汽車保有量和道路里程逐步增加,導致諸如交通擁堵、事故、污染、土地資源緊缺等一系列傳統(tǒng)汽車無法妥善解決的問題日益凸顯。無人駕駛汽車技術被視為這些問題的有效解決方案,其發(fā)展被受矚目,美國電子和電子工程師協(xié)會(ieee)預測,至2040年自動駕駛車輛數(shù)目所占比例將達到75%。
無人駕駛汽車,即在沒有司機的情況下通過自身的輔助駕駛系統(tǒng)在道路上行駛,具備環(huán)境感知能力。輔助駕駛系統(tǒng)通過傳感器獲取的環(huán)境信息做出控制決策,已出現(xiàn)了多種用于輔助駕駛系統(tǒng)的傳感器和產品,例如:激光雷達、機器視覺、自適應巡航、車輛接近通報裝置、夜視輔助、自適應前照明系統(tǒng)等。
目前,輔助駕駛系統(tǒng)的控制方法主要為基于規(guī)則的控制決策,即根據(jù)已知的駕駛經驗構建對車輛環(huán)境信息輸出控制決策的專家規(guī)則系統(tǒng),專家規(guī)則系統(tǒng)這類淺層學習算法可看作從被標記的數(shù)據(jù)之間尋找規(guī)律的過程,當規(guī)則很難被抽象成公式或簡單邏輯時,淺層學習就無法奏效,然而,自動駕駛場景類別多樣、路況復雜,很難用有限的規(guī)則定義清楚。
隨著深度強化學習技術的快速發(fā)展,一些研究機構提出“端對端”式的自動駕駛算法,通過深度網絡構建輔助駕駛系統(tǒng)中的控制決策模型。這類方法不需要對車輛的狀態(tài)進行基于規(guī)則的識別。然而,對車輛自動駕駛進行深度學習要求強大的計算資源,例如需要數(shù)百瓦的圖形處理器(gpu)等長時間(數(shù)天到數(shù)周)的訓練,才能得到一個決策網絡,如果外界條件改變,則需要重新訓練。
技術實現(xiàn)要素:
本發(fā)明的目的在于提供一種用于車輛自動駕駛的策略網絡模型的生成方法及裝置,旨在解決現(xiàn)有技術中策略網絡模型的生成效率較低的問題。
一方面,本發(fā)明提供了一種用于車輛自動駕駛的策略網絡模型的生成方法,所述方法包括下述步驟:
將每個試驗時刻采集到的車輛狀態(tài)信息構成狀態(tài)信息集,對所述狀態(tài)信息集進行處理,獲得特征狀態(tài)信息集;
根據(jù)預設的回報值函數(shù)和預先構建的車輛動作集,查找在所述特征狀態(tài)信息集的每個狀態(tài)信息下獲得最大回報值的車輛動作;
根據(jù)所述特征狀態(tài)信息集、所述特征狀態(tài)信息集中每個狀態(tài)信息對應的最大回報值和所述獲得最大回報值的車輛動作,訓練極限學習機的網絡模型;
根據(jù)所述極限學習機的網絡模型的訓練結果,生成用于所述車輛自動駕駛的策略網絡模型。
另一方面,本發(fā)明提供了一種用于車輛自動駕駛的策略網絡模型的生成裝置,所述裝置包括:
狀態(tài)處理模塊,用于將每個試驗時刻采集到的車輛狀態(tài)信息構成狀態(tài)信息集,對所述狀態(tài)信息集進行處理,獲得特征狀態(tài)信息集;
強化學習模塊,用于根據(jù)預設的回報值函數(shù)和預先構建的車輛動作集,查找在所述特征狀態(tài)信息集的每個狀態(tài)信息下獲得最大回報值的車輛動作;
極限學習機訓練模塊,用于根據(jù)所述特征狀態(tài)信息集、所述特征狀態(tài)信息集中每個狀態(tài)信息對應的最大回報值和所述獲得最大回報值的車輛動作,訓練極限學習機的網絡模型;以及
策略網絡生成模塊,用于根據(jù)所述極限學習機的網絡模型的訓練結果,生成用于所述車輛自動駕駛的策略網絡模型。
本發(fā)明將每個試驗時刻采集到的車輛狀態(tài)信息構成狀態(tài)信息集,對狀態(tài)信息集進行處理,以在降低狀態(tài)信息集中數(shù)據(jù)量的同時保留狀態(tài)信息集中的特征,獲得特征狀態(tài)信息集,根據(jù)預設的回報值函數(shù)和預先構建的車輛動作集,查找在特征狀態(tài)信息集的每個狀態(tài)信息下獲得最大回報值的車輛動作,根據(jù)特征狀態(tài)信息集中的狀態(tài)信息、每個狀態(tài)信息對應的最大回報值以及每個最大回報值對應的車輛動作,訓練預設的極限學習機的網絡模型,并根據(jù)訓練結果,生成車輛自動駕駛的策略模型,從而通過對狀態(tài)信息的處理、通過采用強化學習得到每個狀態(tài)信息的最大回報值和最大回報值對應的車輛動作、通過訓練極限學習及的網絡模型,有效地降低了計算資源的消耗,有效地提高了車輛自動駕駛策略網絡模型的泛化能力和生成效率。
附圖說明
圖1是本發(fā)明實施例一提供的用于車輛自動駕駛的策略網絡模型的生成方法的實現(xiàn)流程圖;
圖2是本發(fā)明實施例一提供的用于車輛自動駕駛的策略網絡模型的結構示例圖;
圖3是本發(fā)明實施例二提供的用于車輛自動駕駛的策略網絡模型的生成裝置的結構示意圖;以及
圖4是本發(fā)明實施例二提供的用于車輛自動駕駛的策略網絡模型的生成裝置的優(yōu)選結構示意圖。
具體實施方式
為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
以下結合具體實施例對本發(fā)明的具體實現(xiàn)進行詳細描述:
實施例一:
圖1示出了本發(fā)明實施例一提供的用于車輛自動駕駛的策略網絡模型的生成方法的實現(xiàn)流程,為了便于說明,僅示出了與本發(fā)明實施例相關的部分,詳述如下:
在步驟s101中,將每個試驗時刻采集到的車輛狀態(tài)信息構成狀態(tài)信息集,對狀態(tài)信息集進行處理,獲得特征狀態(tài)信息集。
本發(fā)明適用于基于賽車仿真模擬平臺或賽車模擬器(例如開放式賽車模擬器torcs,theopenracingcarsimulation)建立的交互平臺,在該交互平臺上進行無人駕駛汽車的行駛交互試驗。在當前的交互試驗過程中,通過車輛上預設的多個傳感器采集車輛狀態(tài)信息,車輛狀態(tài)信息可包括車輛離道路中線的距離、車輛前進方向與道路切向的夾角、車輛前方激光測距儀的距離值和車輛在道路切向上的速度分量。
在本發(fā)明實施例中,采集每個實驗時刻的車輛狀態(tài)信息,并將所有的車輛狀態(tài)信息一起構成狀態(tài)信息集,為了減少狀態(tài)信息集中的數(shù)據(jù)量并保留狀態(tài)信息集的特征,對狀態(tài)信息集進行處理,生成特征狀態(tài)信息集,從而通過對狀態(tài)信息集的處理有效地降低后續(xù)過程的計算量。其中,特征狀態(tài)信息集可包含具有代表性的狀態(tài)信息或狀態(tài)信息的特征。
具體地,可通過預設的聚類算法(例如k-means聚類)將狀態(tài)信息集劃分為若干個簇,并聚類出能夠代表每個簇的簇中心點,這些簇中心點的狀態(tài)信息構成特征狀態(tài)信息集,此外,還可通過預設的特征提取算法(例如自編碼機特征提取算法)提取狀態(tài)信息集中的特征,由這些特征構成特征狀態(tài)信息集。
在步驟s102中,根據(jù)預設的回報值函數(shù)和預先構建的車輛動作集,查找在特征狀態(tài)信息集的每個狀態(tài)信息下獲得最大回報值的車輛動作。
在本發(fā)明實施例中,回報值函數(shù)用來計算在某個狀態(tài)下車輛做出某個動作后獲得的立即回報值,車輛動作集中可包括直行、剎車等車輛動作。先對特征狀態(tài)信息集的每個狀態(tài)信息對應的回報值序列進行初始化,可初始化為零,每個狀態(tài)信息的回報值序列包括在該狀態(tài)信息下每個車輛動作對應的回報值,其中,狀態(tài)信息s的回報值序列中車輛動作s的回報值可表示為
在本發(fā)明實施例中,根據(jù)回報值函數(shù)和車輛動作集,對特征狀態(tài)信息集中狀態(tài)信息的回報值序列進行多次更新,直至所有回報值序列中的值不再變化,最后從所有回報值序列中選取特征狀態(tài)信息集中每個狀態(tài)信息的最大回報值以及該最大回報值對應的車輛動作,從而通過強化學習確定了特征狀態(tài)信息集中每個狀態(tài)信息最佳的車輛動作。
具體地,在更新回報值序列時,在車輛動作集中遍歷可以在特征狀態(tài)信息集的當前狀態(tài)信息下執(zhí)行的車輛動作,執(zhí)行遍歷得到的動作,并通過回報值函數(shù)計算執(zhí)行后的立即回報值,根據(jù)該立即回報值和預設的更新公式,即可對在該當前狀態(tài)信息下遍歷到的車輛動作所對應的回報值。其中,回報值函數(shù)可表示為:
作為示例地,回報值函數(shù)的公式可為:
r=δdis*cos(α*angle)*sgn(trackpos-threshold),其中,r為回報值函數(shù)計算得到的立即回報值,δdis為車輛在相鄰試驗時刻跑過的有效距離,α為預設的權重縮放因子,angle為車輛當前行駛方向與道路切向的夾角,trackpos為車輛離道路中線的距離,threshold為預設閾值,當trackpos大于threshold時,r為無窮小,可表示對車輛太靠近道路邊界時的懲罰。另外,回報值函數(shù)還可考慮行駛速度、單位耗油量、平穩(wěn)度等。
在步驟s103中,根據(jù)特征狀態(tài)信息集、特征狀態(tài)信息集中每個狀態(tài)信息對應的最大回報值和獲得最大回報值的車輛動作,訓練預設極限學習機的網絡模型。
在本發(fā)明實施例中,極限學習機是一種單隱層前饋神經網絡學習算法。其中,極限學習機的網絡模型可表示為:
在本發(fā)明實施例中,可將特征狀態(tài)信息集中每個狀態(tài)信息對應的最大回報值設置為極限學習機網絡模型一次訓練過程中的輸出值,將特征狀態(tài)信息集中的狀態(tài)信息和每個狀態(tài)信息下獲得最大回報值的車輛動作最為極限學習機網絡模型一次訓練過程中的輸入值,從而訓練得到極限學習機網絡模型中隱層節(jié)點與網絡輸出層節(jié)點的輸出權值向量??赏ㄟ^進行多次的車輛自動駕駛試驗,多次地訓練極限學習機網絡模型。
在本發(fā)明實施例中,極限學習機網絡模型的表示方式還可寫為矩陣形式wβ=q,當隱層節(jié)點的激活函數(shù)無限可微時,極限學習機網絡模型的輸入權值和隱層節(jié)點閾值可隨機賦值,此時可將矩陣w視為常數(shù),極限學習機的學習過程可等價為求取線性系統(tǒng)wβ=q最小范數(shù)的最小二乘解。
在步驟s104中,根據(jù)極限學習機的網絡模型的訓練結果,生成用于車輛自動駕駛的策略網絡模型。
在本發(fā)明實施例中,圖2為策略網絡模型的示例,由此可見,極限學習機網絡模型中隱層節(jié)點與網絡輸出層節(jié)點的輸出權值向量,即策略網絡模型中隱藏層的權重值,最后得到了狀態(tài)數(shù)據(jù)處理、強化學習和極限學習機網絡模型構成的策略網絡模型。
在本發(fā)明實施例中,對采集到的所有狀態(tài)信息構成的狀態(tài)信息集進行處理,以降低狀態(tài)信息集中的數(shù)據(jù)量并保留狀態(tài)信息集中的特征,生成特征狀態(tài)信息集,通過強化學習得到特征狀態(tài)信息集中每個狀態(tài)信息的最大回報值和該最大回報值對應的車輛動作,通過特征狀態(tài)信息集中每個狀態(tài)信息、每個狀態(tài)信息的最大回報值、和最大回報值對應的車輛動作,訓練極限學習機的網絡模型,最后根據(jù)訓練的到的參數(shù)向量,得到車輛自動駕駛的策略網絡模型,從而通過對狀態(tài)信息的處理、通過強化學習和極限學習機的結合,有效地降低了計算資源的消耗,有效地提高了車輛自動駕駛策略網絡模型的泛化能力和生成效率。
本領域普通技術人員可以理解實現(xiàn)上述實施例方法中的全部或部分步驟是可以通過程序來指令相關的硬件來完成,所述的程序可以存儲于一計算機可讀取存儲介質中,所述的存儲介質,如rom/ram、磁盤、光盤等。
實施例二:
圖3示出了本發(fā)明實施例二提供的用于車輛自動駕駛的策略網絡模型的生成裝置的結構,為了便于說明,僅示出了與本發(fā)明實施例相關的部分,其中包括:
狀態(tài)處理模塊31,用于將每個試驗時刻采集到的車輛狀態(tài)信息構成狀態(tài)信息集,對狀態(tài)信息集進行處理,獲得特征狀態(tài)信息集。
在本發(fā)明實施例中,采集每個實驗時刻的車輛狀態(tài)信息,并將所有的車輛狀態(tài)信息一起構成狀態(tài)信息集,為了減少狀態(tài)信息集中的數(shù)據(jù)量并保留狀態(tài)信息集的特征,對狀態(tài)信息集進行處理,生成特征狀態(tài)信息集,從而通過對狀態(tài)信息集的處理有效地降低后續(xù)過程的計算量。其中,特征狀態(tài)信息集可包含具有代表性的狀態(tài)信息或狀態(tài)信息的特征。
強化學習模塊32,用于根據(jù)預設的回報值函數(shù)和預先構建的車輛動作集,查找在特征狀態(tài)信息集的每個狀態(tài)信息下獲得最大回報值的車輛動作。
在本發(fā)明實施例中,每個狀態(tài)信息的回報值序列包括在該狀態(tài)信息下每個車輛動作對應的回報值,根據(jù)回報值函數(shù)和車輛動作集,對特征狀態(tài)信息集中狀態(tài)信息的回報值序列進行多次更新,直至所有回報值序列中的值不再變化,最后從所有回報值序列中選取特征狀態(tài)信息集中每個狀態(tài)信息的最大回報值以及該最大回報值對應的車輛動作,從而通過強化學習確定了特征狀態(tài)信息集中每個狀態(tài)信息最佳的車輛動作。
具體地,在更新回報值序列時,在車輛動作集中遍歷可以在特征狀態(tài)信息集的當前狀態(tài)信息下執(zhí)行的車輛動作,執(zhí)行遍歷得到的動作,并通過回報值函數(shù)計算執(zhí)行后的立即回報值,根據(jù)該立即回報值和預設的更新公式,即可對在該當前狀態(tài)信息下遍歷到的車輛動作所對應的回報值。其中,回報值函數(shù)可表示為:
極限學習機訓練模塊33,用于根據(jù)特征狀態(tài)信息集、特征狀態(tài)信息集中每個狀態(tài)信息對應的最大回報值和獲得最大回報值的車輛動作,訓練極限學習機的網絡模型。
在本發(fā)明實施例中,極限學習機的網絡模型可表示為:
在本發(fā)明實施例中,可將特征狀態(tài)信息集中每個狀態(tài)信息對應的最大回報值設置為極限學習機網絡模型一次訓練過程中的輸出值,將特征狀態(tài)信息集中的狀態(tài)信息和每個狀態(tài)信息下獲得最大回報值的車輛動作最為極限學習機網絡模型一次訓練過程中的輸入值,從而訓練得到極限學習機網絡模型中隱層節(jié)點與網絡輸出層節(jié)點的輸出權值向量??赏ㄟ^進行多次的車輛自動駕駛試驗,多次地訓練極限學習機網絡模型。
在本發(fā)明實施例中,極限學習機網絡模型的表示方式還可寫為矩陣形式wβ=q,當隱層節(jié)點的激活函數(shù)無限可微時,極限學習機網絡模型的輸入權值和隱層節(jié)點閾值可隨機賦值,此時可將矩陣w視為常數(shù),極限學習機的學習過程可等價為求取線性系統(tǒng)wβ=q最小范數(shù)的最小二乘解。
策略網絡生成模塊34,用于根據(jù)極限學習機的網絡模型的訓練結果,生成用于車輛自動駕駛的策略網絡模型。
在本發(fā)明實施例中,極限學習機網絡模型中隱層節(jié)點與網絡輸出層節(jié)點的輸出權值向量,即策略網絡模型中隱藏層的權重值,最后得到了狀態(tài)數(shù)據(jù)處理、強化學習和極限學習機網絡模型構成的策略網絡模型。
優(yōu)選地,如圖4所示,狀態(tài)處理模塊31包括:
狀態(tài)處理子模塊411,用于通過預設的聚類算法對狀態(tài)信息集進行聚類、或通過預設的特征提取算法對狀態(tài)信息集進行特征提取,以生成特征狀態(tài)信息集。
優(yōu)選地,強化學習模塊32包括回報值初始化模塊421、回報值更新模塊422和最大回報值獲取模塊423,其中:
回報值初始化模塊421,用于對特征狀態(tài)信息集的每個狀態(tài)信息對應的回報值序列進行初始化,回報值序列包括執(zhí)行車輛動作集中所有車輛動作對應的回報值;
回報值更新模塊422,用于根據(jù)回報值函數(shù)和車輛動作集,對所有回報值序列進行多次更新,直至所有回報值序列不再變化;以及
最大回報值獲取模塊423,用于從特征狀態(tài)信息的每個狀態(tài)信息對應的回報值序列中獲取最大回報值和最大回報值對應的車輛動作。
回報值更新模塊422包括動作遍歷模塊和回報值更新子模塊,其中:
動作遍歷模塊,用于遍歷車輛動作集,并根據(jù)回報值函數(shù)計算在特征狀態(tài)信息集的狀態(tài)信息下執(zhí)行遍歷到的車輛動作時的立即回報值;以及
回報值更新子模塊,用于根據(jù)立即回報值和預設的更新公式,更新在特征狀態(tài)信息集的狀態(tài)信息下執(zhí)行遍歷到的車輛動作對應的回報值。
優(yōu)選地,極限學習機訓練模塊33包括學習機設置模塊431和網絡訓練模塊432,其中:
學習機設置模塊431,用于根據(jù)特征狀態(tài)信息集、特征狀態(tài)信息集中每個狀態(tài)信息對應的最大回報值和獲得最大回報值的車輛動作,設置極限學習機網絡模型的輸入和輸出;以及
網絡訓練模塊432,用于對極限學習機網絡模型進行訓練,獲得極限學習機網絡模型的輸出權重。
在本發(fā)明實施例中,對采集到的所有狀態(tài)信息構成的狀態(tài)信息集進行處理,以降低狀態(tài)信息集中的數(shù)據(jù)量并保留狀態(tài)信息集中的特征,生成特征狀態(tài)信息集,通過強化學習得到特征狀態(tài)信息集中每個狀態(tài)信息的最大回報值和該最大回報值對應的車輛動作,通過特征狀態(tài)信息集中每個狀態(tài)信息、每個狀態(tài)信息的最大回報值、和最大回報值對應的車輛動作,訓練極限學習機的網絡模型,最后根據(jù)訓練的到的參數(shù)向量,得到車輛自動駕駛的策略網絡模型,從而通過對狀態(tài)信息的處理、通過強化學習和極限學習機的結合有效地降低了計算資源的消耗,有效地提高了車輛自動駕駛策略網絡模型的泛化能力和生成效率。
在本發(fā)明實施例中,用于車輛自動駕駛的策略網絡模型的裝置的各模塊可由相應的硬件或軟件模塊實現(xiàn),各模塊可以為獨立的軟、硬件模塊,也可以集成為一個軟、硬件模塊,在此不用以限制本發(fā)明。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內。