柯洁5冠在手“食言”再战AI:我已看开 输赢无所谓
(原标题:柯洁:这一年有过自我怀疑)
之前在乌镇跟‘AlphaGo’下完之后,我说再也不会跟人工智能下棋了,但是现在我食言了。”昨天上午,柯洁在第一届“吴清源杯”世界女子围棋赛暨2018世界人工智能围棋大赛发布会上表示。除了和於之莹共同担任本项赛事的形象大使之外,他还将和人工智能天壤以及福大自动化共同研发的人工智能机械手在比赛期间上演真正的“人机大战”。
谈AI共同学习而非对抗
对于不了解围棋的人来说,柯洁的名字和“AI(人工智能)”是紧密联系在一起的。
2016年3月,当李世石迎战人工智能棋手的时候,未满19岁的柯洁在社交网站上写道:“阿法狗,就算你战胜了李世石也赢不了我。”于是,如同日本漫画《棋魂》中的男主角近藤光一样的天才少年突然之间跃入了人们的眼帘,他的每一次“叫板”都吊高了观众的胃口,同时也让围棋这个项目更受关注。
一年又两个月之后,他在乌镇迎来了升级版的AlphaGo。但是,他并没有拿下想象中的胜利。在第三场较量中,一向自信满满的他一度离席,走到现场的背板后默默流泪。赛后,他说自己“输得不甘心”,并表示以后再也不会跟“AI”下棋了。
人类代表输给了计算力更强、不按常理出牌的“AI”,用中国围棋协会主席王汝南的话说,“在某种意义上,围棋职业高手的光环淡了。”一些围棋爱好者更是直言,“支撑我的价值观崩塌了。”柯洁也经历了从怀疑到崩塌的过程,但很快他就在打碎之后实现重塑。他可以在前4手里下两个“三三”,星位直接点三三更是直接从AlphaGo那里学到的一招。“对抗是没有意义的,”他在上个月的一次采访中表示。不是谁取代谁的问题,互相学习才是棋手和人工智能未来的相处之道。
追求 对我而言弈无止境
所以,在昨天的发布会上,柯洁说自己“食言”了。在这两个字出口之后,他呵呵笑了一下,有一点点自嘲的意思。
他没有必要不好意思,一直以来人类都是在不断打碎固有的知识结构并且重建中取得进步的,两年来他自己也是在和人工智能的交手中不断成长。现在的他说自己更看重的是“弈无止境”,而不是一两场比赛的胜负了。
“作为一个棋手,下棋对我来讲是一件挑战自我的事情。我希望跟强大的对手去比赛,不管对手是AI,还是人类棋手,都是很令人激动的。我希望去跟他们进行比赛,这是有意义的,是我人生中宝贵的经历。之前我在乌镇跟‘AlphaGo’下完之后说我再也不会跟人工智能下棋了,但是我现在食言了。因为我觉得一个棋手是应该弈无止境的,是需要去挑战其他对手的。”
于是今年11月,被古力戏称为“半人半狗”的柯洁现身网络对弈平台,和人工智能再次交手。而明年4月,他将前往福州再次对阵“AI”——这一次他的对手将不需要用人类作为“代言人”,而是直接用机械手落子。
总结 今年成绩总体满意
加上5月份和AlphaGo的3局,柯洁在2017年刚好下了100场比赛,取得72胜28负的战绩。其中包含了“人机大战“之后的22连胜,这个记录一直到7月19日围甲第11轮才被时越打破。
“今年刚开始对自己的期待还是非常高的,特别是那段时间刚结束与‘AlphaGo’对局,迎来22连胜。”谈到已经结束的这个赛季,柯洁笑着说:“那段时间感觉没有什么能够阻挠我,但是后来发现阻挠有点多。”
“所以有时候会对自己产生怀疑,怀疑自己是不是很差。但是后来再一想,都无所谓……我相信在围棋里会有(一些)运气的成分,而‘棋运’这种东西又是可遇不可求的。所以我现在看得很开,输赢都无所谓。只要下出对得起自己的棋,只要去拼了,就没有什么遗憾。”
虽然“人机大战”抢尽了眼球,但让柯洁保持在世界排名前两位的还是那72场胜利。其中就包括12月26日击败彭立尧夺得新奥杯世界围棋公开赛冠军,这也让他以20岁146天超越李昌镐(21岁295天),成为最年轻的拿到5个世界冠军的棋手。
“与彭立尧的比赛前两盘我发挥得不错。后面的两盘有些急于求成,下出了很多非常低级的失误。”柯洁总结说,“那个时候,觉得自己遇到了一些瓶颈。这没什么,就算这段时间拿不到冠军也没关系,毕竟我还年轻,是吧?回看这一年,我还下了智运会,为中国拿了一块金牌。虽然总的成绩乏善可陈,但也算满意。”
北京晨报记者 葛晓倩
- (38) 剖析ArrayList / 计算机程序的思维逻辑
- 破解验证,让爬取更随心所欲!
- Visual Studio Code v0.9.1 发布
- (39) 剖析LinkedList / 计算机程序的思维逻辑
- 我的Android进阶之旅------>Android采用AES+RSA的加密机制对http请求进行加密
- 看到那个Edward 了吗?对!其实它是个Python库
- (35) 泛型 (上) - 基本概念和原理 / 计算机程序的思维逻辑
- 将linux下的rm命令改造成mv到指定的目录下
- (36) 泛型 (中) - 解析通配符 / 计算机程序的思维逻辑
- Python优化第一步: 性能分析实践
- Python云计算框架:OpenStack源码分析之RabbitMQ(二)
- 编程获得CPU的主频
- Python多进程并行编程实践:以multiprocessing模块为例
- 由函数clock想到的
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Python Scrapy图片爬取原理及代码实例
- Python-for循环的内部机制
- 解决Tensorflow2.0 tf.keras.Model.load_weights() 报错处理问题
- 基于python实现模拟数据结构模型
- keras的siamese(孪生网络)实现案例
- 浅谈cv2.imread()和keras.preprocessing中的image.load_img()区别
- Python数据可视化图实现过程详解
- Python matplotlib 绘制双Y轴曲线图的示例代码
- keras 读取多标签图像数据方式
- python新手学习可变和不可变对象
- COS Android SDK DEMO搭建实践
- 利用COS多版本避免文件误删除
- kube-prometheus添加target
- 深入浅析python 中的self和cls的区别
- php中如何执行linux命令详解