第二届全球未来网络发展峰会
创新·引领·未来
很高兴跟大家分享一下,其实在张老师做报告压力非常大,张老师是网络界、学术界的元老,这是它自己的成果,也是我们将来主题未来网络会不会向那个方向发展。其实组委会布置这样的题目,未来网络上讲什么东西?我其实很愁,还有孙老师,他讲的题目是非常厉害“Fpga加速未来网络”,我觉得这也很厉害,我研究研究,最近有什么新的变化?新的研究大家都知道人工智能都那么强大的,不光人工智能还能自动驾驶,谷歌还干什么事呢?谷歌和NASA合作,发现一个跟太阳系有8颗行星新的星系,人工智能在方方面面都得到了各种各样的应用,我们想究竟我们谈起机器学习在谈什么?右上角这个图,以前我们怎么编程序,目标编一个程序解决问题,有了我们的(英文),再拿着各种各样外面的数据,(英文)一算算出(英文)就行了。当我们(英文)不知道怎么编的时候,怎么办呢?也许自己学习就可以用上,比如说监督学习的时候,让计算机学半天,学出右小角的(英文)。当然有些时候我们并不能标记的数据?没有怎么办?那就是非监督学习,拿着我们的数据进行分类也好、什么也好,最终都产生Pragam。当然还有一个东西最近最时髦的就是强化学习和增强学习,就是跟我们的(英文)进行一些互动,整个强化学习这两年为什么这么火热,当然谷歌不光是(英文)下了下围棋,把人类冠军战胜了,当我们说他有几百万个棋谱人类当然强大了,其实我不要棋谱同样强大,它接着做出来(英文),我不要棋谱自己跟自己博弈学,学习一周之后战胜谁呢?当然他已经看不上战胜人类冠军了,我把AlphaGo战胜掉了。接下来的思考是什么?究竟是我们的数据重要还是计算的能力重要,至少看来我们的(英文)它是不需要数据的,紧接着AlphaGo在我们打牌的时候,对方的牌是什么东西?这时候我们还能管用吗?德州扑克各种各样的地方,不完全信息博弈也出来很多很好的成果,这两年机器学习领域还有什么新的工作?有一个叫做生成对抗网络,简单的说右下角的猫,是不是有真实这样一个猫还是计算机生成的照片?大家觉得好像是一个真的,确实计算机生成出来的猫,对生成对抗网络,通过简单的计算网络生成一个图象,通过一个低清的产生高清。在2005年机器学习越来越热闹的时候,想法设法在我们的(英文)里面如何支持更大规模、更更快的机器学习,可是我们最新发现一些新的变化,也许我们的谷歌拿着(英文)算法在数据中心用一用,所以我们看到什么?看到我们是不是可以考虑使用机器学习提高我们系统和网络的技术,有这样一个疑惑的话,我们网络是出问题的吗?在座的大家都有奥运精神,我们网络这么有奥运精神的话,如何变呢?究竟我们解决的好不好?他说什么呢?他说以前我们大量的研究都是基于一个简化的或者不精确的模型,然后在上面设计一些所谓的固定的算法,这些固定的算法究竟是不是在我们真实的网络环境下,有那么多奇奇怪怪的一些边界条件,运行的效果好不好?也许可能不太好了。所以我们看看,想想,如果在座的大家都是做网络研究和技术的,自然会想如果在底层网络系统越来越复杂,这时候建模准准不准确呢?可能不准确。即便是建了准确的模型,那能准确的求写吗?那整个辛辛苦苦干嘛呢?也许你很多的输入就是有噪声的输入,无论是(英文),很抱歉问您,(英文)测的准吗?如果(英文)回来还有准的,那(英文)是多少呢?在这一刹那就不准了,包括吞吐量应该是猜想一下,你知道是网络最高的吞吐量是多少吗?你也可能打流量去测量,所以通过规则式的方法,对这些性能或者是方向预先提高的时候,也许我们就可以做点东西,我们猜想是拥塞了,但是丢包是不是真的丢拥塞呢,还用什么奇奇怪怪的问题,过去我们几十年对(英文)的研究,仅仅是以丢包就是拥塞的话,整个建模的思路都是有问题,如果没有考虑随机丢包,如果像现在状态和动作之间做一个很生硬的硬塞,为什么加?为什么乘?这个就非常生硬。所以我们是不是有可能使用机器学习来提高我们的网络技术呢?那当然传统网络…用网络技术分类预测、决策等等,这都有研究,这个统计表更多的是从2016年、2017年之前的,但是在这里明确的告诉大家,我们从2017之后,2017年就是去年,去年之后到现在出来了一大批通过机器学习来进行网络技术优化的文章,所以我们今天可能有点时间的话,稍微探讨一下。我只能讲别人的工作,在做这个调研的时候,这些工作传输优化等等,基本上都是我们很典型的名校来做,我们清华大学在这块也做了一点轻微的工作。我们在考虑在网络里面使用机器学习有没有所谓通常的规律,一般性的方法,如果大家都是做网络研究的,将来我们想试一试用机器学习的话,可能有什么坑让大家尽量的绕过去。围绕这样的话,首先看一个例子,(英文)刚才也提到过,(英文)之前有一个(英文),也是(英文)在MIT读书的时候发的文章,TCP的窗口怎么设置?我如果用一个机器学习的方法,只要这样的网络条件,设置这样的窗口最合适,连接之后再学半天?一直学到什么时候,一直要让丢包丢下来,我只要在我的NF模拟器上,不断训练、学习,类似于一个表格的状态,只要这样的状态,就设置这样窗口,当然这也是一个思路了,这是强化学习的思想并没有用。
自然你就想说,我能不能最新的强化学习的方法来解决这个问题,果真出现了INDIGO,这也是斯坦福最近做的东西,加在一起,动作很简单?加一、减一,这是简单的动作,我还是在模拟器去训练?我们知道(英文)的模拟器跟真实的环境是不是一样?当然不一样,那差多少?差多少这件事想建个模型描述一下,这可建不出来,总而言之是不一样的,但是差多少不知道?我们有UIUC的一伙人,模拟环境下折腾半天,我们上来跑真实的环境、在线学习,不用搞复杂的训练。PCC他在真实的网络下跑(英文),就是说高低的TCP,下次这个情况下就慢一点,不断探索这个问题就解决了,当然你自然会问这个高高低低效率会高吗?会好吗?紧接着今天3月份刚刚开会的会议上,我们在高高低低的探测干脆基于基度(音)的学习,又发了一个。这个人叫(英文),这也是(英文)获得者。
通过这两个例子,不是我回来了,我本来也没去哪,我记得我在清华上博士的时候在2000年,只要一看到TCP的文章就脑大,一篇接着一篇,TCP又回来的。像一些问题CMU等很多问题,我们火山视频这些东西这么热闹,于是当一个用户看一个视频的时候,希望清晰一点什么的,可是我如何决策呢?我在南京我接入联通还是移动等等好多参数,让我们的运营商无所适从,不知道让我们接到最好的CDN,究竟延迟和码率的问题,就是一个什么样的探测数,让我们的服务质量最好,针对这样一个问题确实是空间很大,需要的模型能力很强。计算慢了管不管用?发现整个网络环境发生变化了,所以一旦计算的慢了之后,就不管用了。你算的可能是半个小时之前的情况,现在网络早已变化,所以怎么办?关键是要发现在我们那一串所谓的特征当中,要发现什么是关键的特征?关键特征才是持续长的东西,所以它基于这样的东西,今天列的基本上全是(英文)这样的顶会。还有进一步的讨论,我们在微信或者聊天的时候,那你为了穿越大家的NAT所以这时候往往需要在这中间夹杂几个中间的服务器,可是我外头有一千个这样的服务器,我应该选哪个服务器让你们俩连接在一起最快呢?还是哪几个服务器连接在一起最快?网络发展那么快,怎么办呢?我在线增强学习一下,探索和利用,我老婆带我一块去饭馆吃饭,这时候一定会点两个我们公认比较好吃的菜,那个就叫利用,因为利用我们以前的知识,知道哪几个菜比较好吃,但你告诉我说我们后辈子都点这两个菜,再不探索其他的菜了,这肯定不行。
我以后要充分探索,充分探索是什么意思?凡是我吃过的好吃的菜再也不点了,如果再点就不叫探索了,很可能这四个菜都不好吃,今天就很惨,所以探索利用要结合进行,探索和利用结合进行。
比如说你们两个人之间进行(英文)用哪个服务器不错,新来的用户我尽量使用你用的服务器,我在一定的概率下探索新的东西,它在这方面做得非常好。之前是相互学习不探索,后面又有一篇文章是探索在一个大空间下怎么探索。这两篇文章活生生加在一起,又发一篇文章,这些东西都很强大,当然像(英文),我们如何去选取最佳的视频码率,我们知道网络的状态变化那么快?我能不能用深度强化学习,核心就是给出一个影射,目标给出一个影射就是当前网络状态和视频码率之间最佳的映射是什么?我把整个动态、奖赏放在一起,我希望码率比较高,卡顿时间比较短等等,这一串都是它在考虑的问题,觉得值得一提的是它用到了一个中央大脑的A3C在2016年提出的东西,2016年新提出的A3C人工智能算法,它使用了这样的算法发在2016年的DeepMind上。你别告诉我说我现在用一个50年前的一个所谓的算法,把它在我们王洛勇用,人家用的是什么?人家2017年的文章用的2016年提出去的东西,为什么叫中央大脑(英文)。剩下几个人都在玩游戏,我把玩游戏的经验告诉中央大脑,每个人告诉中央大脑之后,大家把经验反馈给每一个人,那每一个人的感觉就变得非常强大,其实思路很简单,但是有了新的研究成果,看我们怎么运用。具体的东西不说了后面有很多新的研究,比如说KAIST是韩国技术研究院,视频码率的传输,这个很有一次,以前的压缩都是真帧内压缩和我活生生用其他的方式,比如说“不管黑猫白猫,抓住耗子就是好猫”,这时候你闭上眼睛都知道黑色的猫和白色的猫一块抓耗子。趋势这个是哪来的?就是活生生自己想出来的图像,那自然这样的话,我们生成对抗网络不就是干这件事吗?可以给你一些内容,如果之前白猫、黑猫什么样,不要传黑猫的图片,把中文的汉字传给你,这时候在本地活生生生成出来一个黑猫抓耗子的图像,我们把黑猫白猫变成美女主播,有没有感觉有点新的变化,将来美女主播的时候,这个人是真人还是假人,主播也笑了笑,网络传输过来并不是一个图片什么的,而是她笑笑了传过来后成了她的样子。用户并不知道她是真笑还是假笑,所以这些东西都有研究。当然在移动网络下,还有一些最近的研究,比如说我们都希望做一些网络测量的工作,可以测量你需要在好多的地方发一些探针,比如在中国100个探针我就知道当前网络的环境是延迟、带宽这样的情况,可能并不一定知道,那时候发放一万个探针够不够,可能也不够。我能不能说通过100个探针知道全国100万个地方它的延迟是多少?这件事怎么办?图象都能活生生的生成了,这时候我们在所谓100个典型的地方,当时的延迟带宽是什么地方?100万个地方延迟带宽分别又是多少?这是韩国人正在做的工作。
当然我们其实也在做一些工作,在数据中心里面,大家都在研究数据中心网络,今天变成活生生的讲了,感觉自己也很厉害。数据中心网络当中,大家探讨了很长时间的问题就是,网络的目标是为了传输流量,可是流量是不对称的,一会我这有,一会你这有,可是我们的网络都是对称的网络,你拿着完全对称的网络,去传输上层不对称的流量,一会这拥塞,一会这用拥塞,你不用说这拥塞了我赶紧去插线,这是不行的。
所以现在有很多光线交换机,可以用这个阶段算算不同的网络需求下如何解决传输的问题,我们深度学习的目标就是对于给定流量然,后再去看最优拓朴是什么?可是如果想去做这样的深度学习,我们会发现一个很严重的问题,你想去训练数据,可是你有没有这样的映射,这样的数据有吗?很抱歉当然不存在这样的数据,世界上没有任何一个现代数据网络拓扑是变来变去的,对于一个给定的流量拓扑是什么?这件事本身就没有,你想输入你神经元的数据集就没有,如果没有这样的数据集,我们现在再进一步涉及到非常困难,你很难算出来,半年就算出来一个结果,我训练需要执行多少,根本做不到。
其实我觉得我们要去做这方面研究的话,最核心是说我们实际的问题,是不是已经有理论和模型,如果已经做得很好的,每必要用机器学习、人工智能的东西,你的建模非常不确定的时候,你传统的办法没发办,这个就很难了。所以在后面这些东西都跳过,我的报告到这。