1 — Tensorflow 是一个用于机器学习的数学库。将其视为计算机视觉的 OpenCV 或 Web 开发的 Bootstrap。
2 — 是的,Tensorflow 确实使用了卷积神经网络。为此,它有一个名为 Keras 的专门库。
3 — 通常是的,但还有很多内容。下面是更详细的过程:
a — 您提供图像,或称为数据集。如果你想创建一个从猫中识别狗的模型,你应该有 4 个数据集;
培训文件夹
---------------狗文件夹
------------------ dog1.jpg
------------------ dog2.jpg
---------------猫文件夹
------------------ cat1.jpg
------------------ cat2.jpg
验证文件夹
---------------狗文件夹
------------------ dog3.jpg
------------------ dog4.jpg
---------------猫文件夹
------------------ cat3.jpg
------------------ cat4.jpg
b — 是的,调整大小对于视觉机器学习至关重要,但您还应该对数据集图片进行其他修改。例如,旋转、倾斜和翻转。为什么?因为你想训练你的模型来识别不同位置的对象。例如,如果您的数据集包含站立的狗,它不会识别睡觉或仰卧的狗,因此您需要翻转狗站立的图像。幸运的是,您不必手动执行此操作,因为 Keras 为您提供了一个名为 ImageDataGenerator 的类,它可以为您完成所有图像加载、调整大小......等等。阅读更多关于它的信息here
c- 瓶颈是神经网络的架构,通常有助于避免过度拟合。并非每个模型都遵循瓶颈架构。这是机器学习中最具挑战性的部分,找到正确的架构和层组合以及参数以实现高精度。互联网上已经为不同的应用程序构建了模型,因此您不必从头开始设计您的神经网络架构。例如,有一个名为 Yolo 的模型可以识别各种对象(人、鞋子、手机、冰箱等)。幸运的是,Keras 允许您加载外部模型并将您的修改添加到它以适合您的应用程序,这就是现在大多数数据科学家所做的事情,哈哈。
d- 您已经在 c 阶段使用 CNN 处理。
e — 正确,图表和输出应概述您的模型的准确度。准确性是通过在您在阶段 a 提供的验证数据上测试模型性能来衡量的。
很遗憾,我没有这方面的参考资料,但我通过参加以下课程学到了这些信息:
Introduction to TensorFlow for Artificial Intelligence, Machine Learning, and Deep Learning
Convolutional Neural Networks in TensorFlow