作者|Richmond Alake
编译|Flin
来源|towardsdatascience
介绍
我真不敢相信,离我写第一篇详细描述了我第一天的职业生活的文章已经有六个月了。
时间过得真快。
所以,欢迎再次光临我作为计算机视觉工程师的在线日志。
在这篇文章中,你可以看到一个计算机视觉工程师在一个初创企业中的日常活动的许多细节。同时也希望我能回忆起我犯过的一些错误和我所庆祝的成就。
对于你来说,这篇文章将介绍当你在初创公司中担任机器学习/计算机视觉的角色时,会遇到的情况,以及当前机器学习从业者的典型角色和职责。
我认为这是一个足够好的介绍。
让我们直接跳进去,用4000字或更少的话来总结这六个月。
机器学习/计算机视觉/深度学习
让我们先把我的角色分解一下,再加上职位描述。
在本节中,我还将向你精确介绍对计算机视觉工程师的期望。
机器学习可以简单地说就是开发能够从数据中学习和改进的系统。
计算机视觉是一个机器或系统通过调用一个或多个算法对所提供的信息产生理解的过程。这种理解被转化为决策、分类、模式观察等等。
深度学习是利用深度卷积神经网络来解决计算机视觉任务,如图像分类、姿态估计、语义分割等。
我的主要职责在于研究和实施计算机视觉技术,例如姿势估计,语义分割,手势识别和面部特征检测。所有列出的技术都在移动设备上实现。
技巧
以下是我在过去六个月中使用深度学习解决方案实现的各种计算机视觉技术。
在某些情况下,我包括了已经使用的模型:
姿势估计:这是对图像或视频中显示的人的关键关节位置的估计。我利用诸如堆叠沙漏,卷积姿态机(CPM)和Posenet之类的研究解决方案来实现姿态估计。
- 堆叠沙漏:https://arxiv.org/abs/1603.06937
- 卷积姿态机(CPM):https://arxiv.org/abs/1602.00134
- Posenet:https://www.tensorflow.org/li...
手势识别:人采取的动作的分类可以称为活动或手势识别。我实现该技术的过程是通过迁移学习利用MobileNetV2网络(在imagenet上训练),并使用定制的分类头对图像中的手势进行适当分类。
- MobileNetV2网络:https://arxiv.org/abs/1801.04381
手检测/跟踪:这是一项琐碎的计算机视觉任务,主要涉及图像或视频中手的检测和定位。
语义分割:这可以看作是在像素级别完成的粒度分类,因为我们正在将图像中的每个像素分类为一个对象。实现这一过程很有趣,并且涉及到TensorFlow的DeepLabV3分割示例的逆向工程。
- DeepLabV3:https://arxiv.org/abs/1706.05587
人脸检测/跟踪:这是一个系统的实现,可以跟踪和定位在图像或视频中的人脸位置。
工具类
如果你是机器学习的从业者,你可能知道以下提到的一些工具。对于刚刚进入AI领域的人,数据科学家,ML Researchers和ML Engineers都使用列出的工具。
这些是我每天使用的工具。
TensorFlow:一个用于实施,训练和部署机器学习模型的开源平台。
- TensorFlow:https://www.tensorflow.org/
Keras:一个开放源代码库,用于实现在CPU和GPU上运行的神经网络体系结构。
- Keras:https://keras.io/
TensorFlow Lite:一个开放源代码框架,旨在在智能手机等边缘设备上部署机器学习模型。
- TensorFlow Lite:https://www.tensorflow.org/lite
其他值得注意的工具:
Jupyter Lab:https://jupyter.org/
Anaconda:https://anaconda.org/anaconda...
CoreML:https://developer.apple.com/m...
Vision Framework:https://developer.apple.com/d...
Visual Studio:https://code.visualstudio.com/
提示:不要专注于工具,技术和流程。应该专注于你快速学习和适应新环境的能力。
软件工程
以前我认为软件工程是一种技能,但随着我职业生涯的发展,我逐渐接受了这样一个事实:软件工程更像是一种实践。
软件工程不是一项你可以在三个月内获得的技能,但它是一种方法,你可以通过多年的软件应用开发经验来开发。
作为一名机器学习工程师,我每天都在实践软件工程。更具体地说,我将软件工程原理的各个方面纳入我的开发工作流程和过程中。
大多数现代机器学习工程师都有3+编程语言的良好知识。这看起来似乎很多,而使用集成学习系统和ML技术构建现代应用程序需要各种平台和工具之间的协同作用,所有这些平台和工具都利用不同的编程语言编写可执行指令。
以下是我过去六个月使用的主要编程语言:
Swift:用于iOS应用程序开发
Python:用于ML模型的实现、训练和评估
JavaScript:用于实现ML模型,也可以编写自定义脚本。
我还掌握了HTML、CSS、SQL、Kotlin、NodeJS、Flask等实用知识,这些都是三年来通用软件工程所学的工具和语言。
提示:学习OOP(面向对象编程)的基本原理。OOP的知识在广泛使用的编程语言中是可应用和可转移的。
如果你了解OOP,学习编程语言就是熟悉特定语言的语法。
新冠病毒
没有人能预测到2020年会有一场全球性大流行病,使全世界的国家陷入瘫痪。厕纸在西方国家成了一种商品;肘部问候取代了握手,远程工作现在成为大多数科技型行业的新规范。
大流行蔓延到英国时,我才刚刚上任一个月,然后我们进入了封锁状态。
远程工作并没有改变创业公司的目标,团队动力和完成工作的雄心。身为计算机视觉工程师,并拥有大量基于技术的职位,这意味着我可以在任何地方通过Internet连接工作。
有助于远程工作的事情:
购买台灯:这是我最近购买的东西,对此我感到非常满意。我读了很多书,深夜编码/写作会议变得非常频繁。因此,拥有良好的人造光源对于阅读时的可见度和整体生产率非常有帮助。
Zoom:这可能是2020年最受关注的视频会议工具。Zoom以其同行所没有的方式创建了无缝的虚拟出席状态扩展。我以与同事进行的缩放会议开始新的一天,并以与朋友举行的缩放聚会结束我的夜晚。
TeamViewer:出门在外时,TeamViewer可让我从我的GPU机器访问计算资源。
反应迅速的团队:让团队成员发送 Slack消息或Zoom呼叫,可以消除由大流行引起的差距。我遇到的任何问题都只是解决方案中的一条小消息。
有人说,远程工作将成为员工的永久选择。显然,公司本身在办公空间上节省了很多钱,并且公司团队没有明显缺乏生产力或成果。
硬件
当我写我作为计算机视觉工程师的第一个月的文章时,我写了一项分配给我的具体任务,那就是购买GPU工作站。
经过艰苦的研究以及与美国和英国的GPU提供商公司的来回交流后,我终于购买了一个。
在过去的五个月中,我利用GPU计算资源连续数天训练定制模型。由于工作站拥有14个CPU内核,我还执行了可以并发运行的脚本,而没有任何问题。
提示:即使你可能只购买一个实际的GPU,也请确保购买具有多个GPU插槽的GPU工作站。在可预见的将来,你可能需要扩展GPU功能,因此最好为此做好准备。
我对GPU的历史以及它们的发展变得有点兴趣。作为一名深度学习从业人员,我们都知道,随着AlexNet的推出和深度卷积神经网络的出现,使用GPU训练CNN变得很流行。
我可能会写一篇关于GPU的历史以及有关其利用率和壮举的其他有趣事实的文章。
学习/研究
在与ML相关的职业中学习永远不会结束。AI领域本身的发展步伐总是有新的发展需要注意(当前是GPT-3的发布)或要实施的新技术。
回顾过去的六个月,我真的感到自己仍在重返大学。完成“ 9-5”工作后,我回到家中阅读研究论文,撰写论文并实施ML模型。
对于那些希望从事机器学习事业的人来说,你必须意识到,有一个不言而喻的期望,可以让你了解最新的AI开发信息。大多数人希望你比普通人更了解新的人工智能应用程序版本。
目前,我将学习尽可能多的实践和理论知识,然后再着手实现我的神经网络体系结构或修改DCNN的子组件。
我永远不会百分百了解要实施的CV技术。在我考虑任何形式的实现之前,通常有一个广泛的研究期。对于我正在研究或实施的每一项新技术,大约70%的内容对我来说都是新的。
学习永无止境。
提示:不要害怕退后一步,而要时常温习以确保你建立了坚实的学习基础。最近,与深入了解最新的神经网络体系结构相反,我回顾了深度学习早期发布的研究论文。
恐惧
如果我告诉你在过去的六个月里我没有质疑我的能力,那我就是在骗你。
这是我的第一个与ML相关的角色,更可怕的是我是公司第一个机器学习型员工。
你听说过冒名顶替综合症吗?
这是一种无能和不充分的感觉,即使你做得很好。这是自我怀疑、缺乏自信和虚假的智力欺骗的混合体,它们会偷走你的成功和成就。
在过去的六个月里,我发现自己总是在问以下问题:
我走得够快吗?我够好吗?我够聪明吗?我知道的够多吗?够好吗?如果我失败了怎么办?如果我错了怎么办?
这是关于冒名顶替综合症的问题;它可以是消极的,也可以是积极的,这都取决于你采取的行动,以及你选择如何消除你的自我怀疑。
我利用我的“冒名顶替者综合症”来确保我在游戏中处于最佳状态,我没有被它削弱。
冒名顶替综合症比你想象的要普遍,即使是最伟大的人也会遭受这种病的折磨。
“我毕生的工作受到过分的尊重,这使我感到非常不安。我认为自己是一个不自觉的骗子,我觉得自己已经完蛋了
ML社区
我在工作之外所做的工作与我在工作中所做的工作同样重要。
在过去的六个月中,我意外地开始在AI社区中建立个人品牌。通过几个不同的在线平台,我每天可以联系到成百上千的人。
我认为你可以并且应该这样做。
以下是我用来在ML社区中建立影响力的平台的摘要。
Medium
在我的学术研究和现在的职业生涯中,Medium上与AI相关的内容一直是重要的信息来源。
我已经阅读了简化复杂的神经网络架构研究论文的文章;以及提供了有关如何在AI行业进行工作选择或薪资谈判的有用建议的文章。
在2019年夏季,我决定不仅要成为Medium内容的消费者,而且要成为创作者。我不知道会发生什么,但是我有一个目标。
我的目标是使用Medium作为一种工具,以加强我通过学习和项目获得的知识和信息。对我而言,Medium是保留知识的一种形式。
对我而言,现在是一个平台,使我每天都能接触到成千上万的人。我已经写了70多篇关于AI和ML的文章,我看到很多人都受到我写作的启发,正在学习并拿走一个可行的项目。
我(由于某种原因)被公认为以下主题的顶级作家之一:人工智能,技术和教育。实际上,这是我希望能够保留的荣誉。
我不记得我首次建立LinkedIn帐户的初衷,但是我可以说的是,与任何其他年份相比,我使用LinkedIn的次数比2020年要多。
相当多的人阅读了我的作品,有些读者对我文章中的内容有疑问。LinkedIn是联系我的传统方法之一。
我非常乐于回答任何问题,并就我的技术专长范围内的主题提供任何建议。到目前为止,我已经回答了大约50多个通过LinkedIn与我联系的个人的问题。我也花了一些时间与个人进行视频电话会议。我收到的一些问题需要更广泛的答案。
我被问到的大多数问题都围绕着学习机器学习的最佳方法,或者是走哪条职业道路。尽管我不是专家,但我很高兴分享我通过学习,研究和经验中学到的知识。
如果你想给我发消息或讨论与ML相关的问题,请点击这里。
咨询
在过去的六个月里,我和一些寻求项目建议的人坐在一起,在一些情况下,我得到了相应的报酬。现在,我的薪水并没有改变我的生活,我也不会很快成为一名全职顾问。事实上,人们只看重我的专业知识,这一事实对我来说仍然是疯狂的。
除了咨询工作,我最近还被邀请成为一本即将出版的计算机视觉书籍的技术作者。这个机会似乎好得令人难以置信,但我今天就在这里,进入这本尚未出版的书的几个章节。
除了我的学习和事业,我无法预测我会遇到什么样的机会。每个月都不一样。
YouTube
我很欣赏AI / ML YouTube频道,主持人在那里教授与机器学习相关的话题,或者解释和实施研究论文中介绍的技术。
当然,我是Alex Fridman的播客和YouTube频道的粉丝。
在YouTube上,我是一位消费者,并且关注与ML相关的渠道,例如:
- Two Minutes Paper:https://www.youtube.com/chann...
- Daniel Bourke:https://www.youtube.com/chann...
- Sentdex:https://www.youtube.com/user/...
- Deep Lizard:https://www.youtube.com/chann...
- 3Blue1Brown,:https://www.youtube.com/chann...
- Yannic Kilcher:https://www.youtube.com/chann...
- Abhishek Thakur :https://www.youtube.com/chann...
我决定开始在YouTube平台上构建。很快,我将发布一些我认为对机器学习/深度学习入门者有用的内容。
随时在这里订阅我的频道(https://www.youtube.com/chann...)。
提示:不要害怕扩大范围。让世界知道你的存在。
我犯的错误
在过去的六个月中,我犯的错误数量是无法计数的。
这里有一些“不太”令人尴尬的错误。
- 没有推送我的git repo并失去了两个星期的工作量。
- 对我的工作表现出不耐烦的态度,这导致了很多错误和bug。
- 我真正需要时不寻求帮助。
- 装有电子设备的团队书桌上洒满了水。
- 星期五开始生产。然后花了整个周末修复bug。
- 即使我在家工作,我参加在线会议也迟到了(此错误需要一定水平的技能,哈哈)。
每个人都会犯错误;错误是不可避免的。重要的是,你要从犯下的错误中吸取教训,并记住自己的错误并不能定义自己。
我敢肯定,在接下来的六个月中,我还会犯更多的错误。
年度愿景
简而言之,六个月。
总结六个月,并在接下来的一年中,我将与你分享我为自己设定的目标。
这些目标主要是为了让我在事业、个人和学术发展上保持正轨。列出的一些目标是模棱两可的,我很可能会在以后完善它们。
- 在年底之前阅读10篇研究论文
- 在线发布两个基于AI的应用程序
- 在边缘设备上实施更多的计算机视觉技术
- 在ML社区中建立更强大的影响力
- 建立牢固的个人品牌
获得每个人都热衷的TensorFlow证书
原文链接:https://towardsdatascience.co...
欢迎关注磐创AI博客站:
http://panchuang.net/
sklearn机器学习中文官方文档:
http://sklearn123.com/
欢迎关注磐创博客资源汇总站:
http://docs.panchuang.net/
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。