背景

首先,我写这一篇文章针对是在本科生阶段来写的,本人处于在大三学习阶段,目前学习方向是图像处理——主要还是以机器学习/深度学习算法解决问题。我想现在很多人都会叫你去转行,不要去搞算法了,现在搞算法的已经是寒冬了,很多搞算法都转行为开发了。这个时候我想你心里的决定已经摇摇不定了。

新的想法改变

首先,我先让你们考虑几个问题再回答你的想法

  1. 你为何要搞算法? 为了追逐前浪吗;
  2. 你对搞算法还兴趣吗 如果只是当时的一个冲动的决定,现在又后悔了,那我只能被你们;
  3. 你对算法有怎么样的理解 我复现了别人的论文就结束了这一个知识点的掌握了?
  4. 你有没有精读过国际大牛的论文 这个要的吗?
  5. 算法只需要学好理论就行吗 我看到好多人都是这样的?
  6. 搞算法的要不要读研 这个我回答一下:强力推荐
  7. 是不是学习玩深度学习就可以了? 我的回答是:

举例本人例子

本人曾在大二时开始搞人脸识别算法,没错在外行的听起来就像是很厉害的样子,可现实呢还是比较残酷点的。

从大二暑假开始就忙于人脸识别的各自算法,在大三的时候用了神经网络模型弄得效果还行,不过在这里我肯定说比起谷歌,阿里简直是菜鸟。也有人说用深度学习搞人脸识别很容易啊,随便搭建个模型就OK了,那我想请问一下,目前有多少个大厂能够推向市场——阿里,Face++,百度等,还有吗?我的回答是没有,因为你是很难很难百分之百复现出来大佬论文模型准确度。首先数据问题,数据处理,硬件配置问题,各种环境条件不一样。还有就是你的识别率在实际测试的情况下真的能行吗?
对于我来说,你搞人脸识别算法,只是单单实现了人脸识别神经网络就可以了吗?答案是no?首先你要考虑的问题是人脸识别算法有很多,为什么要选择神经网络呢?而不是支持向量机、PCA和CV呢?假设上面要求你在单片机里/嵌入式里实现,你用神经网络模型能做出来吗?你的模型有多大,单片机计算能力能不能达到。?这个时候你会说这是应用的问题,我只需要搞好模型就可以了。那你想多了,在学生阶段是为算法而算法,但是在工作,比赛中是为开发而算法。在学生阶段你可以吹你对哪些什么算法的研究怎么高大上都可以,但是你以后搞实验/工作不行,既然你说得那么厉害,那做出来啊,你做不出来就不要说。
我在实现人脸识别算法时首先了解它的相关算法——支持向量机、PCA、cv里面的和深度学习。了解目前人脸识别的难点问题。首先在做出应用时,你要面对的是实际情况,光照强度不一的影响,人脸姿态的问题,微表情的问题,用传统算法是很难的,这个时候采取神经网络,可以较好的解决这个问题,然后是怎么样去选择什么样的网络模型,传统CNN分类?
no,no,no,no,传统CNN不能够很好的解决增加类别分类问题需重新训练,这个时候你需要阅读大量地论文了。
本人在一个暑假的时候尝试了多种方法,最终还是选取神经网络——FaceNet,这个模型结构就很好的解决这个问题了,将人脸图像映射到128维的欧几里得空间里,利用欧氏距离来判断是否同一个人。这个FaceNet是没有官方公开的源码,所以就算你想复现是较难的,而且我使用的是Pytorch,这个时候你会说为什么不一开始使用这个方法呢?答案是因为我一开始是想在树莓派中使用的,树莓派对深度学习神经网络模型有着硬性的要求,要是你的模型几百兆大小,那你的树莓派加载这个模型肯定不行,运算能力太菜了。所以还是从简单的算法了解做起。
不管怎么样,现在搞算法的大都数都去追着人工智能了,不是不行而是你不要忘了老本啊。
最后,

思考一下上面的七个问题,有什么想法的都可以留言一下。

来自一位搞算法的本科生的学习感想相关推荐

  1. 我有一个梦想,希望每一位提到算法的人,不再立即紧皱眉头

    点击关注 异步图书,置顶公众号 每天与你分享 IT好书 技术干货 职场知识 参与文末话题讨论,每日赠送异步图书--异步小编 多年来,我有一个梦想,希望每一位提到算法的人,不再立即紧皱眉头,脑海闪现枯燥 ...

  2. 微软云服务再添新产品,这次来自两位华裔女科学家创办的AI公司

    微软云服务再添新产品,这次来自两位华裔女科学家创办的AI公司 微软的Azure AI又添了一项新产品. 这次是一个用于反欺诈的AI平台,来自DataVisor. 微软全球金融服务副总裁Janet Le ...

  3. 来自一位十余年工作经验的老电子工程师的心里话:该出手时便出手!

    来自一位十余年工作经验的老电子工程师的心里话:该出手时便出手! 这篇文章在网上流传很广,里面的观点尽管不全部正确,但无疑给人极大的深思...特抄录与此,努力反思与反醒... 诸位,咱当电子工程师也是十 ...

  4. JavaScript实现设置或清除数字指定偏移量上的位setBit算法(附完整源码)

    JavaScript实现设置或清除数字指定偏移量上的位setBit算法(附完整源码) setBit.js完整源代码 setBit.js完整源代码 /*** @param {number} number ...

  5. 大专普通本科、搞算法的(蓝桥杯、ACM、天梯赛)-后续成长之路

    2021年1月 1.首先要清楚算法究竟能为程序作出什么样的贡献: 请查阅:<[算法之美]改变世界的十位算法大师> url:https://blog.csdn.net/kexuanxiu11 ...

  6. 基于特征选择的局部敏感哈希位选择算法

    点击上方蓝字关注我们 基于特征选择的局部敏感哈希位选择算法 周文桦, 刘华文, 李恩慧 浙江师范大学数学与计算机科学学院,浙江 金华 321001 摘要:作为主流的信息检索方法,局部敏感哈希往往需要生 ...

  7. 身份证号码含义及最后一位校验算法(ISO 7064:1983.MOD 11-2)

    身份证的各位数字代表的含义 ISO 7064:1983.MOD11-2校验码计算法 : (身份证校验码-第18位) 校验码计算(Python 代码) 身份证的各位数字代表的含义 1.前1.2位数字表示 ...

  8. 数组循环向左移动k位的算法

    数组循环向左移动k位的算法, 我在课本上只看到了方法一,暂且称为颠倒交换法, 方法二是我自己想出来的,暂且称为循环赋值法. 方法一:颠倒交换法 算法描述:循环左移k位, 先把前面 0 到 k-1位置的 ...

  9. 八位“Booth二位乘算法”乘法器

    文章目录 八位"Booth二位乘算法"乘法器 原理 补码乘法器 Booth一位乘 Booth二位乘 设计思路 减法变加法 vivado特性 设计文件 综合电路 测试文件 仿真波形 ...

最新文章

  1. 分布式存储系统的关键技术
  2. CION AP192主控量产低格工具v3.35
  3. Python Django后台管理模板美化:使用django-simpleui模块
  4. 计算机网络-基本概念(6)【网络层】-某PN和NAT
  5. 看完这篇文章保你面试稳操胜券——React篇
  6. mysql common是什么_MySQL common_schema简介
  7. linux下使用odbc连接mysql_Linux环境下通过ODBC访问MSSql Server
  8. PHP 文件与目录操作
  9. GitHub使用(四) - 关于分支Branch
  10. 我对JS栈的简单学习
  11. 【Python】 html解析BeautifulSoup
  12. shell脚本中,for的用法
  13. Verilog设计参数化的译码器与编码器,以及设计4位格雷码计数器
  14. WPS2000中实现立体字效果(转)
  15. 单点登录Cas如何保证客户端的安全性
  16. GB28181协议之设备录像查询
  17. NIOS II入门学习笔记【一】--- NIOS II软核处理器开发入门
  18. 纯干货:Linux抓包命令集锦
  19. win10右键卡顿原因_win10系统右键卡顿的解决方法
  20. 《GAMES104-现代游戏引擎:从入门到实践》-04 学习笔记

热门文章

  1. java8 stream map flatMap
  2. python django安装使用 错误:Type ‘manage.py help <subcommand>‘ for help on a specific subcommand.
  3. Python-当之无愧的优雅之王
  4. 微信小程序-简历信息显示
  5. SPOJ Query on a tree 树链剖分 边修改
  6. 2021年中国生鲜电商行业发展回顾及未来行业发展策略分析:要增强生鲜农产品的稳定性、降低运营成本[图]
  7. Postman中认证CAS
  8. 伊藤清|概率论大师的“哲学”指引
  9. 2021前端必问面试题及答案
  10. 大数据在金融行业的应用有哪些