道翰天琼认知智能为您解密:年薪百万的华为「天才少年」:谢凌曦分享「进阶」之路,选题最重要!
华为「天才少年」一直备受外界关注。
近日,毕业于清华大学的「天才少年」谢凌曦便分享了自己的「修炼」之路。
游戏中与AI结缘
4月24日,谢凌曦在「华为云·先锋少年论坛」上向大家介绍了自己与AI结缘的经历与心得。
他第一次听到AI是在小学打游戏的时候,当时有些关卡特别难过,就去找攻略求解。
「攻略告诉我,这些敌人都是由AI程序来控制的。」
对于当时游戏来讲,都会有一定固定的套路,如果掌握了其中的技巧,过关就轻而易举。所以,那时候的谢凌曦认为「AI很蠢」。
到了中学时期,他初次接触计算机编程,但是发现自己并不能写出高明的程序。
这是他对AI的第二个印象,「AI是一件很难的事情」,从此对他产生了很浓厚的兴趣。
再后来,他考上了清华大学,在学习的过程中,他了解到了AI的发展史,并最终决定选择将AI作为未来的主攻方向。
他表示,「特别是大三的时候我上了两门课程,一个是人工智能导论,一个是机器学习。这两个课程告诉我,原来人工智能是一门有着一定发展历史的学科,在几十年的发展过程当中,已经累计下来了一些固定的方法论,而且这个过程是非常曲折的,也有很多难题到现在还没有得到解决。」
博士期间,谢凌曦师从人工智能领域的先驱者之一的张钹院士,选择计算机视觉中与语义有关的方向,并在博士毕业之后,继续从事学术之路。
在博后期间,是谢凌曦学术生涯里比较重要的转折期。从一开始需要自己独立完成研究向指导他人完成研究去转变。
2019「天才少年」:只为把AI赋能给千行百业
2019年,谢凌曦被选为华为「天才少年」。
他追随自己的前导师、华为云人工智能领域首席科学家田奇,来到华为云工作。
最近一直在找比较智能的机器人。想着怎么利用手里的服务器搞点事情时,做一个自动聊天的微信机器人。
总体思路很简单,用itchat登录微信,接受消息,通过聊天机器人的接口发送给聊天机器人,在将接受到的消息通过itchat发给用户,实现自动聊天。
经过几番寻找,找到一个非常智能而且类人的机器人,道翰天琼未来机器人API,测试地址:www.weilaitec.com.需要注册才能使用,非常智能的机器人。据说他们是认知智能机器人,全新一代智能机器人。下面是机器人接口代码,要先到官网注册,获取API等信息。此机器人智能程度很强。不智障。
接口申请官网地址: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));
}
}
他表示,「华为云是一个新的起点,我面临的新问题就是如何将AI赋能给千行百业。」
我们都知道,一般现在的人工智能可以说是窄人工智能,针对不同的场景有不同的算法。当遇到一些实际场景时,AI的算法能力比较受限,因此提升算法的通用性是一个巨大挑战。
所以谢凌曦一直在华为云研究解决方案,并做出了一定的成绩。
根据谢凌曦的主页,他目前是华为云EI高级研究员。
加入华为之前,他分别于2010年和2015年在清华大学获得了工商管理硕士学位和博士学位,师从德克萨斯州大学圣安东尼奥分校的张钹教授和田奇教授。
谢凌曦还曾在微软亚洲研究院(MSRA)做研究实习生,当时王井东博士是他的导师。
获得博士学位后,他在 Alan l. Yuille 教授的指导下,在计算认知、视觉和学习(CCVL)做了三年的博士后研究员。
个人主页:http://lingxixie.com/Home.html
谢凌曦的研究兴趣是计算机视觉、多媒体信息检索和机器学习。他在通用图像分类、图像检索等视觉问题上做了大量的研究工作。
他一直致力于深度学习,尤其是基于 CNN 卷积神经网络的模型。
演讲的最后,谢凌曦对天才少年的修炼之法只总结了两个字,那便是「选题」。
「我相信大家都有成为天才少年的潜质,但是在一开始,对于方向的规划、题目的选择,就决定了未来的上限到底是什么样的。」