Monday, March 09, 2015

[repost ]程序员编程能力层次模型

original:http://ift.tt/1AW7zqg 前言 程序员的编程技能随着经验的积累,会逐步提高。我认为编程能力可以分为一些层次。 下面通过两个维度展开编程能力层次模型的讨论。 一个维度是编程技能层次,另一个维度是领域知识层次。 编程技能层次 编程技能层次,指的程序员设计和编写程序的能力。这是程序员的根本。 0段—非程序员: 初学编程者,遇到问题,完全是懵懵懂懂,不知道该怎么编程解决问题。也就是说,还是门外汉,还不能称之为“程序员”。计算机在他面前还是一个神秘的黑匣子。 1段—基础程序员: 学习过一段时间编程后,接到任务,可以编写程序完成任务。 编写出来的代码,正常情况下是能够工作的,但在实际运行中,碰到一些特殊条件就会出现各类BUG。也就是说,具备了开发Demo软件的能力,但开发的软件真正交付给客户使用,恐怕会被客户骂死。 程序员程序是写好了,但到底为什么它有时能正常工作,有时又不行,程序员自己也不知道。 运行中遇到了bug,或者需求改变,需要修改代码或者添加代码,很快程序就变得结构混乱,代码膨胀,bug丛生。很快,就连最初的开发者自己也不愿意接手维护这个程序了。 2段—数据结构: 经过一段时间的编程实践后,程序员会认识到“数据结构+算法=程序”这一古训的含义。他们会使用算法来解决问题。进而,他们会认识到,算法本质上是依附于数据结构的,好的数据结构一旦设计出来,那么好的算法也会应运而生。 设计错误的数据结构,不可能生长出好的算法。 记得某一位外国先贤曾经说过:“给我看你的数据结构!” 3段—面向对象: 再之后,程序员就会领略面向对象程序设计的强大威力。大多数现代编程语言都是支持面向对象的。但并不是说,你使用面向对象编程语言编程,你用上了类,甚至继承了类,你就是在写面向对象的代码了。 我曾经见过很多用Java,Python,Ruby写的面向过程的代码。 只有你掌握了接口,掌握了多态,掌握了类和类,对象和对象之间的关系,你才真正掌握了面向对象编程技术。 就算你用的是传统的不支持面向对象的编程语言,只要你心中有“对象”,你依然可以开发出面向对象的程序。 如,我用C语言编程的时候,会有意识的使用面向对象的技巧来编写和设计程序。用struct来模拟类,把同一类概念的函数放在一起模拟类。如果你怀疑用C语言是否能编写出面向对象的代码,你可以看一下Linux内核,它是用C语言编写的,但你也可以看到它的源代码字里行间散发出的浓浓的“对象”的味道。 真正掌握面向对象编程技术并不容易。 在我的技术生涯中,有两个坎让我最感头疼。 一个坎是Dos向Windows开发的变迁过程中,框架的概念,很长一段时间我都理解不了。Dos时代,都是对函数库的调用,你的程序主动调用函数。Windows时代,则换成了框架。就算是你的main程序,其实也是被框架调用的。UI线程会从操作系统获取消息,然后发送给你的程序来处理。Java程序员熟悉的Spring框架,也是这样一个反向调用的框架。 现在因为“框架”这个术语显得很高大上,因此很多“类库”/“函数库”都自称为“框架”。在我看来这都是名称的滥用。 “类库”/“函数库”就是我写的代码调用它们。 “框架”就是我注册回调函数到框架,框架来调用我写的函数。 另一个坎就是面向对象。很长一段时间我都不知道应该怎么设计类和类之间的关系,不能很好的设计出类层次结构来。 我记得当时看到一本外国大牛的书,他讲了一个很简单、很实用的面向对象设计技巧:“叙述问题。然后把其中的名词找出来,用来构建类。把其中的动词找出来,用来构建类的方法”。虽然这个技巧挺管用的,但也太草根了点,没有理论依据,也不严谨。如果问题叙述的不好,那么获得的类系统就会是有问题的。 掌握面向对象思想的途径应该有很多种,我是从关系数据库中获得了灵感来理解和掌握面向对象设计思想的。 在我看来,关系数据库的表,其实就是一个类,每一行记录就是一个类的实例,也就是对象。表之间的关系,就是类之间的关系。O-Rmapping技术(如Hibernate),用于从面向对象代码到数据库表之间的映射,这也说明了类和表确实是逻辑上等价的。 既然数据库设计和类设计是等价的,那么要设计面向对象系统,只需要使用关系数据库的设计技巧即可。 关系数据库表结构设计是很简单的: 1、识别表和表之间的关系,也就是类和类之间的关系。是一对一,一对多,多对一,还是多对多。这就是类之间的关系。 2、识别表的字段。一个对象当然有无数多的属性(如,人:身高,体重,性别,年龄,姓名,身份证号,驾驶证号,银行卡号,护照号,港澳通行证号,工号,病史,婚史etc),我们写程序需要记录的只是我们关心的属性。这些关心的属性,就是表的字段,也就是类的属性。“弱水三千,我取一瓢饮”! 4段—设计模式: 曾经在网上看到这样一句话:“没有十万行代码量,就不要跟我谈什么设计模式”。深以为然。 记得第一次看Gof的设计模式那本书的时候,发现虽然以前并不知道设计模式,但在实际编程过程中,其实还是自觉使用了一些设计模式。设计模式是编程的客观规律,不是谁发明的,而是一些早期的资深程序员首先发现的。 不用设计模式,你也可以写出满足需求的程序来。但是,一旦后续需求变化,那么你的程序没有足够的柔韧性,将难以为继。而真实的程序,交付客户后,一定会有进一步的需求反馈。而后续版本的开发,也一定会增加需求。这是程序员无法回避的现实。 写UI程序,不论是Web,Desktop,Mobile,Game,一定要使用MVC设计模式。否则你的程序面对后续变化的UI需求,将无以为继。 设计模式,最重要的思想就是解耦,通过接口来解耦。这样,如果将来需求变化,那么只需要提供一个新的实现类即可。 主要的设计模式,其实都是面向对象的。因此,可以认为设计模式是面向对象的高级阶段。只有掌握了设计模式,才能认为是真正彻底掌握了面向对象设计技巧。 我学习一门新语言时(包括非面向对象语言,如函数式编程语言),总是会在了解了其语法后,看一下各类设计模式在这门语言中是如何实现的。这也是学习编程语言的一个窍门。 5段–语言专家: 经过一段时间的编程实践,程序员对某一种常用的编程语言已经相当精通了。有些人还成了“语言律师”,擅长向其他程序员讲解语言的用法和各种坑。 这一阶段的程序员,常常是自己所用语言的忠实信徒,常在社区和论坛上和其他语言的使用者争论哪一种语言是最好的编程语言。他们认为自己所用的语言是世界上最好的编程语言,没有之一。他们认为,自己所用的编程语言适用于所有场景。他们眼中,只有锤子,因此会把所有任务都当成是钉子。 6段–多语言专家: 这一个阶段的程序员,因为工作关系,或者纯粹是因为对技术的兴趣,已经学习和掌握了好几种编程语言。已经领略了不同编程语言不同的设计思路,对每种语言的长处和短处有了更多的了解。 他们现在认为,编程语言并不是最重要的,编程语言不过是基本功而已。 他们现在会根据不同的任务需求,或者不同的资源来选择不同的编程语言来解决问题,不再会因为没有使用某一种喜爱的编程语言开发而埋怨。 编程语言有很多种流派和思想,有一些编程语言同时支持多种编程范式。 静态类型编程范式 […]



via WordPress http://ift.tt/1BoLMLt

Labels:

Thursday, March 05, 2015

[repost ]IBM Acquires AlchemyAPI, Enhancing Watson’s Deep Learning Capabilities

oringinal:http://ift.tt/1F93lQq New York City, N.Y. – 04 Mar 2015: IBM (NYSE: IBM) today announced it has acquiredAlchemyAPI, a leading provider of scalable cognitive computing application program interface (API) services and deep learning technology. The acquisition will accelerate IBM’s development of next generation cognitive computing applications. The acquisition also significantly expands the Watson ecosystem, welcoming 40,000 […]



via WordPress http://ift.tt/1GZHXyf

Labels:

Tuesday, February 17, 2015

[repost ]Parsing and serializing XML

original:http://ift.tt/XbSa9v and ) and provides functionality global to the document (such as obtaining the page’s URL and creating new elements in the document).” style=”margin: 0px; padding: 0px; border: 0px; color: rgb(0, 149, 221); text-decoration: none;”>Document) and want to use its content. Serializing DOM trees to strings First, create a DOM tree as described in How […]



via WordPress http://ift.tt/1EKb7Qa

Labels:

[repost ]Parse XML using JavaScript

original:http://ift.tt/1o8y744 I need to be able to parse XML using JavaScript. The XML will be in a variable. I would perfer not to use jQuery or other frameworks. I have looked at this, XML > jQuery reading. Thanks I’m guessing from your last question, asked 20 minutes before this one, that you are trying to […]



via WordPress http://ift.tt/1EK5HVd

Labels:

Tuesday, February 03, 2015

[repost ]深度学习引爆下一次科技革命

original:http://ift.tt/16rxAH0 摘要 : 深度学习不仅是人工智能的发动机,更是其他众多领域、甚至是整个社会科技进步的动力。 百度首席科学家吴恩达在今天百家BIG TALK硅谷活动上提到,从优秀产品到大量用户,再到海量数据,最后返回优秀产品是一个良性循环,但最后一个环节“海量数据到优秀产品”会出现问题,因为当数据积累过多时,就无法对这些数据进行完整和准确的处理,从而也无法为优秀产品的后续更新提供参考。直到深度学习出现才改善了这种局面,他把数据比作火箭的燃料,把深度学习比作发动机,是深度学习将数据这种燃料点燃从而将人工智能推到另外一个高度。而值得一提的是,在今天BIG TALK以及其他活动的演讲中,各领域专家都直接或间接的提到了深度学习。所以,我大胆的得出一个结论,深度学习不仅是人工智能的发动机,更是其他众多领域、甚至是整个社会科技进步的动力。 1、 深度学习的定义 传统人工智能的机器学习是通过标记数据进行有监督学习,随着其所需处理数据量的增大,外界对其的支持和帮助也就更大,而且计算结果的准确性也会受到影响。因此,对于这种传统算法,越来越多的数据将成为负担,也更容易达到极限或产生错误结果。但深度学习是从未经标记的数据展开学习,这更接近人脑的学习方式,可以通过训练之后自行掌握概念。面对海量数据,深度学习算法可以做到传统人工智能算法无法做到的事情,而且输出结果会随着数据处理量的增大而更加准确。这将大幅度提高计算机处理信息的效率。同时,深度学习在加速回归定律的指引下会使得进化过程中产物(输出结果)获得指数级增长,当深度学习的效率变得更高,就会吸引更多的资源向它聚合,使其发展更为迅速。王威廉在《国际机器学习大会ICML2013参会感想》提到:“用半监督或无监督学习方法挖掘无标签的数据,不仅是过去10年,还很可能是大数据时代的一个热点。 回到“海量数据到优秀产品”这一环节,这些数据处理效率的指数级增长其实是来源于我们对互联网产品的每一次微小的使用以及相应的每次数据的贡献,而这些汇集起来的数据再借助深度学习算法就会为会我们输出更加准确的结果,提供更好的服务,其产生的效果也会像滚雪球一样越来越大。这就是吴恩达在今天的讲座中提到的深度学习所促成的完整流程,也是他之前提到的人工智能正循环。 而深度学习带来的正循环不仅体现在人工智能领域,还体现在机器人技术、信息化医疗、社会物理学和能源问题等领域。 2、 深度学习对大数据的价值 如吴恩达所言,数据是人工智能的燃料。随着各个行业信息化程度的普及,任何行业所积累的数据会越来越多,但当真正面对海量数据时,各行业才意识到数据处理能力远远不够。在今天上午参观百度美国研究院时,百度高级技术总监吕厚昌提到了深度学习对大数据的重要性,他认为,此前在数据的数量和效率之间存在矛盾,收集更多的数据有助于提高最终结果的准确性,但数据越多,处理起来就越慢。当没有足够高效的处理工具时,大数据就变成了数据坟墓,即使这些数据再大,也无法提取出任何价值,因为没办法对其进行高效处理,这也违背了我们收集数据的初衷。 深度学习的出现就是解决了如何快速处理海量数据的问题,拿百度举例,吕厚昌说,百度的数据处理自上而下分成开放云、数据工厂和百度大脑三个层级,最底层的开放云收集数据,数据工厂对数据库进行管理,最上层百度大脑的模拟神经网络通过机器学习高效的输出结果,从而实现行业应用。深度学习就是在最后一个环节体现出巨大价值,带来更好的信息处理能力,从而产生更加广泛和深入的行业应用,比如百度大数据此前在医疗、交通和金融领域的应用。 此外,MIT人类动力实验室主任Alex Pentland的社会物理学就是基于大数据对人类的各种社会行为进行分析,从而得出结论并提供决策依据;伯克利大学能源专家Daniel Kammen也是基于大数据来解决气候变迁这个宏大的人类课题。这两个领域都需要有海量数据支撑,因此,拥有高效、良性处理能力的深度学习技术就显得尤为重要。 大数据已经变成各个行业的基础架构,而真正能帮助这些行业处理好数据,并最终实现具体应用的还是因为深度学习的出现。可以说,深度学习是大数据具体行业应用的必要工具。 3、 深度学习对机器人领域的价值 康纳尔大学创意机器人实验室主任Hod Lipson讲述了他研发的基于“元认知(Metacognition)”的机器人,他们事先没有对这些机器人的行为进行编程,而是让这些机器人更加自由的活动,对机器人的行为和“进化”进行研究,从而建造出能够具备自我学习能力和进化能力的机器人。TED对此进行了非常准确的描述:Hod Lipson及团队在创造一种能够决定自己如何走路的机器人;一种能够开发出自我感觉的机器人;通过不断试错,最终构建出“更像自己”的机器人。在技术哲学层面,Hod Lipson借鉴了美国知名人工智能专家、认知科学家Marvin Lee Minsky的理论,机器的大脑有两层结构,一层感知外部世界,一层感知自身,以此在虚拟和现实之间帮助机器构建出一个对自我意识的认识和思考,也就是他今天提到的“对思考进行思考”,从而让机器具有“自我”。思想家I.J.古德提到,机器设计是智能机器的能力之一,而Hod Lipson现在所做的就是在培养机器的这种“设计能力”。 Hod Lipson认为他现在之所以能够制造出拥有“自我意识”的机器人,原因有两个,第一是他一直推崇的3D打印技术的出现。第二就是深度学习技术的成熟,他对该领域保持关注了十多年,直到今天,深度神经网络的训练才达到令人满意的效果,拥有自我意识和学习能力的机器人才会出现。 深度学习赐予了Hod Lipson更加智能的机器人,那这对我们来说意味着什么?Hod Lipson认为这可以应用在医疗行业,因为具有意识的机器人能更好的了解人类的感受,从而对病人进行更好护理。他提到的这种应用已经实现,去年,欧盟发布了RoboEarth项目,四个机器人在模拟医院的环境中相互协作来照顾病人,它们通过与云端服务器的交互来进行信息共享和互相学习。例如,一个机器人可以对医院房间进行扫描并将完成的地图上传至RoboEarth,而另外一个对这个房间完全不了解的机器人就可以通过访问云端的这张地图来找到房间中一杯水,而不需要再进行额外的搜索。 这不仅体现了这种智能机器人在医疗行业的重要性,更预示着智能将从机器群组中涌现。不论是Hod Lipson的机器人,RoboEarth体系里的单个机器人,还是此前MIT发布的“多智能体系统”和哈佛大学的“白蚁机器人”,它们都是Robert Chambers在《Vestige of The Natural History of Creation》中变化论(transmutation)提到的“早期简单形态的物种”。而这种初期形态会逐渐向高级形态进行自然进化,这种法则可以被定义成单个个体的适应性,一种在群体中诞生并不断增长的学习能力。就像一只看不见的手,一只存在于大量低级成员中却控制并引导着整体的手,直到量变引起质变。更难得的是,机器的这种学习能力是有加速度的,随着时间推移,进化能力本身的多样性、复杂性和进化力也随之增长,这就是KK在《失控》里提到的群组的自我进化。 4、 深度学习对信息医疗领域的价值 斯坦福大学教授Walter Greenleaf的演讲是信息医疗,全球老龄化的加剧带来了严重的医疗负担,在过去的31年间,医疗开销超过了经济增长。而目前解决这个问题的最佳途径就是医疗信息化和数字诊断,移动智能设备的普及,医疗设备的数字化和便携式、云计算、社交化都在加速这个目标的达成,而当这一切都变成数字化时,医疗其实就变成了一个数据处理的过程,但数据量将会出现爆发式增长,越来越多的人加入,体征监测指标越来越多,服务层级也越来越丰富,这就需要深度学习来提供强大的数据处理能力。同时,由于机器在处理病情时可以做到完全按照数据处理结果进行客观诊断,而不像人类一样因为情感方面的原因做出错误判断,因此,医疗领域的发展也需要人工智能和深度学习的有力支持。 百度的大数据引擎把医疗行业作为重点应用方向,去年6月份上线的疾病预测可以对全国331个地级市,2870个区县的四种疾病进行未来趋势的预测,其中,百度的深度学习技术势必发挥了重要作用。IBM 和纽约基因中心 New York Genome Center, NYGC 合作,利用超级计算机的运算能力加速脑癌研究并找到最佳的治疗方法;Watson […]



via WordPress http://ift.tt/16rxAH6

Labels:

[repost ]虚拟现实技术的未来猜想

original:http://ift.tt/1znemgN 摘要 : 虚拟现实技术发展到一定阶段,人们进入虚拟现实的环境中也不需要什么介质了,我们随时可以将自己置身于一个包括视觉、听觉、触感和嗅觉全体感的虚拟环境中。最终甚至会让人不知哪里是现实,似梦非梦的感觉。 原创泛科技互联网产业「深度阅读」,请关注“一个字头的诞生”(微信公众号ID:Zitou23) 受百度百家的邀请,字头社在CES后再次赴美,踏上硅谷这片土地,考察硅谷,聆听BIG Talk的大家演讲。 此次行程颇为丰富,人工智能、深度学习、机器人等等,各种新兴科技概念都已经在硅谷开始实践,展示在我们眼前。但是对字头社而言,最大的感触便是虚拟现实技术的真正进步。 之前,我一直觉得虚拟现实技术尚未成熟,即便未来有一天成熟了应用范围也应该是比较有限,最多只能用在看电影和玩游戏上,仅仅是为了体验而发展。 但是事实上,这次考察硅谷,参观斯坦福实验室,硅谷的这帮技术达人告诉我:未来虚拟现实的应用范围非常广,堪称是人机交互的3.0时代。 其实对于虚拟现实,应该分为两个方面,一种是与现实世界无关,另一种是依靠全息技术,在现实的介质中产生虚幻的事物。但其实这都不重要,重要的是,未来虚拟现实的交互功能已然出现。 斯坦福大学虚拟互动实验室(Virtual Human Interaction Lab)创始人杰里米·拜伦森(Jeremy Bailenson)给我们播放了一段视频,后来我在国内的视频网站也找到了。(链接:http://ift.tt/16eE4s0 如同这个视频所阐述的,当我们带上智能眼镜之后,在凭借现实中的一些介质,可以呈现一些虚拟的事物。最关键的地方在于,用户竟然能够与这些虚拟的事物产生交互,可以点击。平淡无奇的一些事物,在用户的眼前展现出的是一个瑰丽的世界,现实生活中不存在的世界栩栩如生地出现了。 这样的虚拟现实技术,其实相当于人机交互的3.0时代到来。所谓的1.0时代,是指人与PC通过键盘、鼠标控制电脑,或者人与游戏机手柄控制游戏;2.0时代便是通过触屏或者体感感应器来与机器交互;而上述的3.0时代,则是在虚拟的现实中,人机直接进行交互。 在视频中,我们可以看到通过虚拟显示技术,人们可以进行一些设计、玩一些游戏等等。但事实上这种技术如果仅仅应用在此次,则格局或许偏小。无论是上述的拜伦森教授,还是后来给我们演讲的斯坦福荣誉教授Walter Greenleaf,都表示虚拟现实技术现在已经趋于成熟,他们正在研究如何将其逐步用于医疗,主要是在慢性疼痛疾病和精神疾病等方面。 Walter教授说,虚拟现实将会是一种新的医疗技术,虽然过去该技术一直发展,但因为成本太高,一直无法从实验室转到诊所。“但是现在公司用廉价的技术,在市场上发布虚拟现实的产品,如三星,索尼,微软。”Walter说,“我很兴奋,这对于应激障碍、自闭症等患者来说,未来有通过低廉的价格治愈的可能性。” 我感觉这个地方其实很有趣。虚拟现实和精神疾病似乎八竿子打不着,竟然能够帮助治疗?Walter教授认为,态度行为对健康是有影响的,很多精神疾病是由于焦虑和压力产生的,要治疗就让他们进入虚拟环境,让他们分心。而且虚拟现实的设备在家里使用,进入一个更放松的环境,而不是在医生的办公室里头。将患者放在虚拟环境里,教会他们怎么拒绝社会里的诱因,并且检测患者的数据。 而另外,对于一些虚拟现实也可以成为心理体验的方式。比如,你可以在虚拟世界中体验成为超人,帮助别人,拜伦森也表示,实验证明,在虚拟现实中体验过做超人的人现实生活中也会变得热心,帮助别人。此外,虚拟现实还可以让用户看到他在目前的生活状态下,喝酒的方式,体重的管理,财政管理都会影响将来的,赤裸裸的结果也会促使人们改变其生活方式。当然,虚拟现实还可以应用在运动员的训练,等等,此处就不赘述了。 这次硅谷之行,我们也接触了一些模拟触感技术的实验。虚拟现实未来是否会加入触感?我猜想,到一定阶段,人们进入虚拟现实的环境中也不需要什么介质了,即是说当开启了虚拟现实,我们就将自己置身于一个包括视觉、听觉、触感和嗅觉全体感的虚拟环境中。最终甚至会让人不知哪里是现实,似梦非梦的感觉,这或许也将涉及伦理方面的问题。不过,待到真的可以虚拟现实以假乱真之时,咱们再来讨论这个话题。 看完文章,还有什么想交流的,可以关注字头社微信公众号。“一个字头的诞生”微信公众号「ID:Zitou23」是专注于原创的科技互联网、中概股投资逻辑的公众号。不管是否同意本人观点,请维护本人表达观点的权利,本人所写的内容也仅基于对产业的认知和个人兴趣。



via WordPress http://ift.tt/16eE6jQ

Labels:

[repost ]神经元网络即将干的漂亮事儿

original:http://ift.tt/1wM31AP 摘要 : 百度首席科学家、38岁的吴恩达笃定地说,未来有一天,他的孙女一定会这样不解地问他:以前你跟你的微波炉说话,他都不理你,这是不是太没礼貌了?机器还会学会什么?最可怕的事情正在发生——它正学会独立思考。机器人会具备越来越多的人性,他可能会写社论,抚养孩子,甚至自己创造另一个机器人,“他们做很多事情都会比人类厉害。”机器人将可能挑战人类存在的意义。 陈庆春/文(图为吴恩达) 作者微信订阅号:诚意阅读(ReadingisReading) 当人们想要机器和人类一样有意识、有思考能力时,便想到了人工搭建一个类似大脑神经元的网络,以模拟大脑。过去,这只是一种想象,但如今它不仅变成了现实,而且未来它将使机器比人类更懂得如何思考。 在1月31日The BIG Talk硅谷会议现场,霍德·利普森展示了这样一段视频:一个搭建了神经元网络的异形机器人,在行走过程中,突然对它面前的两个人产生了兴趣,并开始模糊地扫描这两张脸。 这让在场所有的人都不寒而栗,因为作为纽约康奈尔大学工程系的教授,霍德·利普森同时告诉我们,“事前并未给该机器人输入任何有关扫描人脸的程序!”是机器人自己主动开始“思考”——是否应该关注一下前面的人。 试想一下,当你身边的面包机突然开口问你想烤什么面包时,你会不会吓一跳? 这一切都将变成现实。 促进深度学习能力起飞 百度首席科学家、38岁的吴恩达笃定地说,未来有一天,他的孙女一定会这样不解地问他:以前你跟你的微波炉说话,他都不理你,这是不是太没礼貌了? 7 年前,吴恩达要求他的学生写一个程序,以识别咖啡杯。但那时根本无法实现,现在却已经做得很好了。吴恩达展示的下图,全部是由机器识别出来、并写下来的文字。 为什么今天可以做到这样?吴恩达以火箭为例做了解释:火箭之所以能够起飞,是因为有足够马力的发动机以及燃料,而神经元网络就是机器深度学习的发动机,社会数字化形成的大数据则是燃料,目前这两者正变得越来越强大。 2010年,神经元网络有1千万个连接点,随后发展到用1000个服务器实现10亿个连接点,百度则用3个超级电脑替换掉了1000个服务器,再后来是用16服务器实现100亿个连接点,目前已可以实现1000亿个连接点。 现在的神经元网络就像是给人类大脑画了一幅简单的漫画,但它的进展却是摩尔级的,它正使得机器的视觉和听觉能力日新月异,随之而来的便是深度学习能力的起飞。 吴恩达称,目前具备神经元网络的机器已在视觉领域的医学影像、图片识别、百度眼镜中得以应用。 语音识别能力的提升,将促使我们围绕语音界面来重新设计移动产品,从而推动物联网的革命,比如汽车、家用设备(TV、冰箱等)、可穿戴设备等均可使用语音作为人与机器的沟通交互界面。 丰田硅谷实验室高级总监Nick Sugimoto先生,在现场展示了用苹果系统和Android系统的丰田车是如何与人类进行语音沟通的,打电话、导航均无需动手操作,语音就是交互界面。 机器还会学会什么?最可怕的事情正在发生——它正学会独立思考。 机器人会创造机器人 过去,在机器人领域有一个禁语:Conscious(意识)。 意识是什么?霍德·利普森的解释是——想象自己的能力,比如我站在台上你会怎么看我?而意识的产生来自于两个方面:第一,与外面的世界沟通;第二,与自己前一个活动行为沟通。这其实就是思考。 人类意识的产生还来自于独特的人类大脑生理结构,即有一个低级大脑和一个高级大脑,再加上一个有效的反馈机制。当低级大脑先做出决策后,高级大脑负责监督它,然后做出了决策,这即是反馈的一部分。 根据这一机理,霍德·利普森在机器人里面设计了类似的装置:一个低级控制器、一个高级控制器,一个反馈机制,当然还有一个庞大的神经元网络。 有了这些之后,机器开始自己学习,自己思考了。霍德.利普森用视频展现了一个真实机器人最低级的表现是,有四个腿的异形机器人,断了一条腿后,也能慢慢适应着用3条腿平稳地走路。更高级的表现是,机器人可以画油画,发现数学公式,扫描人脸。 “我不知道未来机器的思考能力是不是真的会超过人脑,但现在可以看到这种迹象。” 霍德·利普森认为,机器人会具备越来越多的人性,他可能会写社论,抚养孩子,甚至自己创造另一个机器人,“他们做很多事情都会比人类厉害。” 会思考的机器人将可能挑战人类存在的意义。 苹果的创始人之一沃兹告诉我们,他以前也不相信机器人真的可以超越人类,但在听了《奇点临近》一书作者库兹韦尔的演讲之后,他认为在数据足够的情况下,未来20年内,电脑超过人脑是完全可能的,因为神经元网络真的太伟大了。 霍德·利普森不担心机器人会杀人,但担心人类会利用机器人做什么。 机器人就像一个牙牙学语的孩子,你教他什么,他便会什么,你给他接触什么,他便拥有什么。 当一堆铁块(有可能是塑料)突然给你倒来一杯水,因为他想了一下,觉得你肯定渴了,而你这时确实渴了,你看着他,是应该害怕,还是兴奋? 霍德·利普森(下图)显然是异常兴奋的,他说:“如果你相信机器人会杀死人类,那么你将错过巨大的科技进步的机会。”



via WordPress http://ift.tt/16rxxev

Labels:

Sunday, January 25, 2015

[repost ]Ember.js 技巧、诀窍和最佳实践

original:http://ift.tt/1JH1iUC 目录 [−] 通用 核心概念 命名约定 带Binding后缀的属性自动转为Ember.Binding对象 View vs. Component Controller 转到其它页面 访问其它Controller. needs属性 使用send调用定义的action 主动触发property变动事件 Route 一些钩子hook controllerFor modelFor得到父Route的model transitionTo, intermediateTransitionTo refresh 刷新本route及子route的model 渲染非默认的模版 Model 使用Ember.Object的extend定义新类 计算属性Computed Properties @each计算 observers 是同步的 Ember.computed(‘aaa’, function(){}), Ember.observer(‘aaa’, function () {}) reopen覆盖 架构 Store model 和 record adapter Serializer 属性定义时,attr()类型可以不设置 One-to-One, One-to-Many和Many-to-Many. hasMany 增删改查 model的一些方法 Adapter的 URL Conventions […]



via WordPress http://ift.tt/1ySj31R

Labels:

Monday, January 19, 2015

[repost ]How to install and enable EPEL repo in RHEL/CentOS/Oracle Linux?

original:http://ift.tt/1BtYlaE What is EPEL repo? EPEL(Extra Packages for Enterprise Linux) is a repo developed by Fedora project to ensure that there is a quality 3rd party packages available for enterprise users such as people who are using RHEL, Cent OS, Oracle Linux and Scientific Linux. These are highly used enterprise Linux OS which are shipped […]



via WordPress http://ift.tt/1uioFwG

Labels:

Sunday, January 11, 2015

[repost ]Ember without Ember Data

original:http://ift.tt/XxSoBj The concepts in this article are still true, but I’ve recorded a screencast showing how to use ember without ember data using ember-cli and the latest version of Ember. It goes beyond the contents of this article, showing how to create an adapter, store and even your own identity map. Check it out! Ember […]



via WordPress http://ift.tt/1A5pz1F

Labels:

[repost ]How to represent arrays within ember-data models?

original:http://ift.tt/1tXCki8 Answer: Well… It was a little bit difficult but mixing all answers in this post I made it work. Firstly, you should create a transform for the new type “array”: DS.ArrayTransform = DS.Transform.extend({ deserialize: function(serialized) { return (Ember.typeOf(serialized) == "array") ? serialized : []; }, serialize: function(deserialized) { var type = Ember.typeOf(deserialized); if (type […]



via WordPress http://ift.tt/1A5pwmh

Labels:

[repost ]Getting Into Ember.js

original: There are a lot of JavaScript libraries available, and most are really good at providing the traditional DOM-centric interactions that your typical websites need. But when it’s time to build a manageable code base for a single-page app, that’s where a whole suite of new frameworks come in to smooth things out. The old […]



via WordPress http://ift.tt/1A5pz1p

Labels: