2020年6月22日上午,在第二屆北京智源大會全體會議上,馮·諾依曼理論獎得主、美國西北大學教授Jorge Nocedal做了名爲《Zero-Order Optimization Methods with Applications to Reinforcement Learning》的主題演講。
Jorge Nocedal,美國西北大學教授,曾在非線性優化、應用數學和運籌學等領域獲得無數獎項。2009年獲查爾斯·布羅伊登獎;2010年,他還被評爲美國工業和應用數學學會院士;2012年獲喬治·B·丹齊格獎;2017年,被授予馮·諾依曼理論獎。2020年當選美國工程院院士。Nocedal主要的研究方向爲確定性和隨機性設置中的非線性優化,他目前進行的算法和理論研究的動機源於圖像、語音識別、推薦系統和搜索引擎中的非線性優化問題。
Nocedal在演講中指出,在函數優化的過程中,我們通常可以使用梯度下降的方法來獲得目標函數的最值,但其實這需要依賴許多最值搜索的“運氣”,其中包括:良好的初始化、步長、迭代方向計算的精度、搜索空間的結構等,但是在深度學習中,尤其是增強學習中,這些“運氣”並不一定可以滿足,那麼我們如何通過其他的方法來做深度學習中目標函數的優化呢,本次會議中Nocedal給我們分享了他的獨到思路——零階優化。所謂零階優化算法即不利用一階導數信息,在一定次數的抽樣基礎上,擬合目標函數的最值。零階優化方法通過對目標函數逼近或對目標函數加罰函數的方法,將約束的優化問題轉換爲非約束的優化問題。
認知智能是計算機科學的一個分支科學,是智能科學發展的高級階段,它以人類認知體系爲基礎,以模仿人類核心能力爲目標,以信息的理解、存儲、應用爲研究方向,以感知信息的深度理解和自然語言信息的深度理解爲突破口,以跨學科理論體系爲指導,從而形成的新一代理論、技術及應用系統的技術科學。 認知智能的核心研究範疇包括:1.宇宙、信息、大腦三者關係;2.人類大腦結構、功能、機制;3.哲學體系、文科體系、理科體系;4.認知融通、智慧融通、雙腦(人腦和電腦)融通等核心體系。 認知智能四步走:1.認知宇宙世界。支撐理論體系有三體(宇宙、信息、大腦)論、易道論、存在論、本體論、認知論、融智學、HNC 等理論體系;2.清楚人腦結構、功能、機制。支撐學科有腦科學、心理學、邏輯學、情感學、生物學、化學等學科。3.清楚信息內涵規律規則。支撐學科有符號學、語言學、認知語言學、形式語言學等學科。4.系統落地能力。支撐學科有計算機科學、數學等學科。
接口申請官網地址:www.weilaitec.com
接口地址(例子):
http://a239p06512.zicp.vip/Web/BuAppJava.bujqrex?apikey="+apikey+"&msg="+msg+"&ip="+ip
用戶端消息內容。
String msg ="你在幹嘛呀?";
apikey參數。這個apikey就是網站上申請的APIKEY
apikey ="";
//客戶端ip,最終用戶端的唯一標識(可以是用戶端的IP,或者手機設備號,或者微信號或者,qq號碼等能證明身份的唯一標識就可以)
String ip ="";
//這裏一定要encode轉換編碼。轉成GBK。
msg = URLEncoder.encode(msg, "GBK");
三個參數全部小寫
msg參數就是傳輸過去的對話內容。
msg參數要編碼成gbk,不然會亂碼。
接口具體代碼:
package ai.nlp.jiekou.test;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import ai.nlp.util.changliang.ChangLiangZi;
public class ApiTest {
/**
* Get請求,獲得返回數據
* @param urlStr
* @return
*/
private static String opUrl(String urlStr)
{
URL url = null;
HttpURLConnection conn = null;
InputStream is = null;
ByteArrayOutputStream baos = null;
try
{
url = new URL(urlStr);
conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(5 * 10000);
conn.setConnectTimeout(5 * 10000);
conn.setRequestMethod("POST");
if (conn.getResponseCode() == 200)
{
is = conn.getInputStream();
baos = new ByteArrayOutputStream();
int len = -1;
byte[] buf = new byte[128];
while ((len = is.read(buf)) != -1)
{
baos.write(buf, 0, len);
}
baos.flush();
String result = baos.toString();
return result;
} else
{
throw new Exception("服務器連接錯誤!");
}
} catch (Exception e)
{
e.printStackTrace();
} finally
{
try
{
if (is != null)
is.close();
} catch (IOException e)
{
e.printStackTrace();
}
try
{
if (baos != null)
baos.close();
} catch (IOException e)
{
e.printStackTrace();
}
conn.disconnect();
}
return ChangLiangZi.WU;
}
public static void main(String args []){
//三個參數全部小寫
//msg參數就是傳輸過去的對話內容。
//msg參數要編碼成gbk,不然會亂碼。
String msg ="你在幹嘛呀?";
//apikey參數。
String apikey ="UTNJK34THXK010T566ZI39VES50BLRBE8R66H5R3FOAO84J3BV";
//客戶端ip,最終用戶端的唯一標識(可以是用戶端的IP,或者手機設備號,或者微信號或者,qq號碼等能證明身份的唯一標識就可以)
String ip ="127.0.0.1";
//這裏一定要encode轉換編碼。轉成GBK。
try
{
msg = URLEncoder.encode(msg, "GBK");
} catch (UnsupportedEncodingException e)
{
e.printStackTrace();
}
System.out.println(opUrl("http://a239p06512.zicp.vip/Web/BuAppJava.bujqrex?apikey="+apikey+"&msg="+msg+"&ip="+ip));
}
}