机器学习中许多可训练参数和层带来的成本是什么?

我想知道在机器学习算法中,许多可训练参数会产生什么影响。

例如,具有许多层的CNN可以从图像中提取更多抽象数据。但更多的层意味着更多的可训练参数。构建非常深的模型有什么缺点吗?

更多的参数是否意味着加载模型需要更多的RAM?

更多的参数是否意味着模型计算开销更大,即需要更好的硬件来训练?

更多的参数是否意味着模型训练和分类的时间更长,或者在大多数情况下变化可以忽略不计?

我注意到更深的模型和更多的参数在保存模型时文件大小更大,还有其他成本吗?

我找到的关于这个话题的大多数来源都只提到要保持参数低,但从未详细说明为什么我们要这样做。


回答:

更多的参数是否意味着加载模型需要更多的RAM?

是的,这需要更多的RAM/VRAM,具体取决于你的训练模式。

更多的参数是否意味着模型计算开销更大,即需要更好的硬件来训练?

是的。

更多的参数是否意味着模型训练和分类的时间更长,或者在大多数情况下变化可以忽略不计?

是的,随着计算数量的增加,时间会更长。

我注意到更深的模型和更多的参数在保存模型时文件大小更大,还有其他成本吗?

除了你已经指出的之外?是的,优化可能会受到影响,训练方案也会受到影响。

我找到的关于这个话题的大多数来源都只提到要保持参数低,但从未详细说明为什么我们要这样做。

当可训练参数的数量增加时,计算量也会增加,这意味着硬件需求增加,包括RAM和处理能力。它还引入了优化方面的困难,比如过拟合,甚至是选择使用的优化算法的问题。

根据你的使用情况,模型的传输可能会成为一个问题,例如,考虑到物联网设备、无人机、自动驾驶车辆/机器人需要更新等,连接速度差/慢等情况。(有办法减少模型大小并提高其性能,但总的来说,参数越多意味着更多的空间/时间)

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注