美文网首页
近期学习总结

近期学习总结

作者: 约翰伍德 | 来源:发表于2020-03-16 02:41 被阅读0次

自从开始工作,感觉每天都在学习。这5年多以来,我从一个没什么工作经验的应届毕业生大致成长为一个全栈工程师。虽然一直在学习,但所学的内容都跟工作相关。这就出现一个问题,随着工作经验越丰富,我就容易学得越深。而学得越深,我的工作范围就变得越窄;而工作范围越窄,我就会学得越深:因此出现了一个死循环。得亏我在过去五年换了两次组,不然我现在就是一个技术水平非常单一的软件工程师。

为了拓宽自己的视野,丰富掌握的技能,从去年年底开始,我利用假期和周末的时间,在coursera上学习了两门课程:machine learning(机器学习)和crypto currency(加密货币)。选这两门课是因为一直有人说ai和区块链将是未来科技发展的方向,而我完全没有仔细了解过,好像已经被未来抛弃了。于是我就想通过这次机会,增强自己的竞争力,免得落后于时代。


机器学习这门课程没有什么技术难度,它的原理很简单:把现实世界的事物数据化,带入一个算式当中,得出结果。举个例子,人脸识别。每一张图片都可以分成好多像素点,我们可以利用这些像素点创建一个矩阵,也就是把一个东西数据化。然后把这个矩阵带入一个算式,最后得出一个数。这个数就是这张图片里有人脸的概率,也可以是这个人脸是某个特定的人的概率。听起来很简单,实现起来也不难,就是需要大量算力来提前train好model,应用的时候每次只用带入公式算一遍就好了。

那机器学习有什么好处?为什么机器学习和普通程序不一样?我们首先得了解一下普通程序是怎么写的。写普通程序要考虑方方面面:假设出现某种情况,应该使用a方案;假设出现另外种情况,应该用b方案,等等等等。而机器学习则是把所有方案都列出来,通过概率来决定在什么情况使用哪种方案。比如出现某种情况,我们把这种情况数据化,带入机器学习。然后它就会告诉我们60%的概率应该用a方案,20%的概率应该用b方案。因为这种特性,机器学习适用于情况复杂的问题,就像围棋。如果人类要手写一个程序去下围棋,那光if和else就得写半辈子。

然而,机器学习终究是个靠概率做判断的技术,适用于允许出现误判的场景。还是拿围棋举例,下错一子甚至输一局都无所谓,只要保持大概率能赢就好。因此,在自动驾驶这种关乎人命的领域,我个人并不看好。即使它的驾驶技术可能比普通人更好,但除非普罗大众可以接受任由机器来决定我们的命运,否则自动驾驶就无法大规模应用。即使出了事故,工程师也没有办法告诉你到底是为什么:因为工程师也不知道机器学习程序为什么会做出这样的判断,换言之机器学习程序无法debug。工程是能做的只有不断去improve 现有的model,然后祈求上帝保佑。


接下来说说加密货币。加密货币是比机器学习复杂得多的技术,它建立在区块链之上。而区块链则是建立在decentralized distributed system(去中心化的分布式系统)和cryptographic(密码学)之上。

首先,去中心化的分布式系统这个概念就很难理解。我想了个比较形象的比喻:把一个扁平化没有领导的组织想象成一台一台电脑,这个组织就是这个系统。分布式系统的要求就是,跟这个组织里的任何人交流,你都可以假设你得到的回应就是这个组织的官方回应。也就是每个人都可以代表这个组织发言,处理事务。关于这样的组织,通常我们都是采取少数服从多数的原则,而比特币比较特别,它采取的是短区块链服从长区块链的原则,也就是谁的链最长谁就说了算。仔细一想有点不太zzzq。

而密码学则比较好理解。战争时期为了防止敌军破译,所以我们都会通过加密通讯来进行交流,这就是密码学最广为人知的应用。区块链中的密码学主要应用在如下场景:任何人都可以看到且可以验证我发送的信息,但没有人可以伪造我的信息。这也就给数字货币增强了安全性:一般情况下没人可以偷走你账户里的钱,除非他们控制了你的账户。

这两种技术让区块链变成一个可溯源的公开数据库:它是可靠的,因为没人可以伪造数据;它又是一个去中心化的数据库,数据永远不会丢失。所以,任何公开的信息都可以保存在区块链之中。然而,加密货币是不是一个好的应用,我持怀疑态度。举个例子,比特币之后有如此多的加密货币出现,是因为技术可复制,可修改。任何人都可以创建一种新的货币,只不过问题在于怎么说服大家使用它。因为大家相信比特币,所以比特币就有了价值,而这就是个非常典型的泡沫。泡沫可以投机,但不推荐长期持有。

这些年科技发展得太快,所以软件行业是真的应了那句老话:活到老,学到老。之前我一直担心行业的变革和技术的变迁会让软件行业变成夕阳行业,但现在我越来越意识到软件工程的发展还远没有到头。作为软件工程师来说,如果有比较强的学习能力和足够的知识广度,我们就可以放宽心。像比特币这么复杂的东西,普通老百姓怎么可能搞得清楚。当你每天面对无数的新闻,各种不同的看法时,没有一定的行业知识就无法保持自己独立思考的能力。正因为软件行业还在高速发展,我们具有一定的优势。

其实,学习这件事也不仅限于软件行业,因为各行各业都在发展。虽然上学和工作是两种状态,但开始工作不意味着停止学习。为了不被社会淘汰,在此与大家共勉。

相关文章

  • 近期学习总结

    自从开始工作,感觉每天都在学习。这5年多以来,我从一个没什么工作经验的应届毕业生大致成长为一个全栈工程师。虽然一直...

  • 近期学习过程总结

    个人背景:法律学科 本文目的: 1、简单总结一下日常的学习 2、将个人学习经历写出来,共同交流学习 最近十天左右的...

  • 近期随感-学习总结

  • 近期学习工作总结

    Linux是一类Unix计算机操作系统的统称。Linux操作系统的内核的名字也叫“Linux”。Linux...

  • 2018.11.8   近期英语学习总结

    今日,算是勉强完成了流利说level 5的学习,说是勉强是因为最后一个dictation做了好多遍总是不过,所以我...

  • 我的近期学习总结

    自从加入了分享与学习社群,自己开始制定属于自己的学习计划,并且付诸实践。今天就开始聊聊自己学习的一点心得体会。 1...

  • 近期学习成长问题总结

    最近实践时间管理,又遇到了不少的问题,大部分都是之前打过交道的老朋友,今天把他们写出来,想办法给出几个比较有效的解...

  • 股市玄学,近期学习总结

    想要在股市中稳定赚取,难于上青天。国内外指数变化、热点事件、炒作概念、行业上下游、个股基本面、K线、技术面等等知识...

  • 近期总结

    最近觉得有点遗憾,一个多月了没有学到系统得学到一些东西,更多的是碎片化的收集知识,没有形成一个体系。但是觉得还是有...

  • 近期总结

    最近面试了不少公司(Software Engineer),对面试也是有了不少新的认识。挂了不少,反思一下,准备不充...

网友评论

      本文标题:近期学习总结

      本文链接:https://www.haomeiwen.com/subject/tkjxehtx.html