找组织——机器学习社区、团体洞察

在Github上,有一些中文社区可以看一看:

prompt“如果我是个AI小白,想参加到一个组织,接收最新的AI有趣源项目、一些定期的刊物等。我应该加入哪些组织?”

AI社区——深度学习社区
Reddit 上的 Machine Learning subreddit:

https://www.reddit.com/r/MachineLearning/ 是一个拥有超过 400,000 名成员的活跃社区。在这里,您可以找到有关机器学习的最新新闻、教程和讨论。

实测:下午有280人同时在线。内容多是关于新的模型生成、显卡等讨论,类似微博。

实测主要有用的几个community有:

r/artificial::讨论人工智能的 subreddit,拥有超过 74万成员。北京时间下午(对应应是欧美凌晨),在线105人。

r/MachineLearning: :讨论机器学习的 subreddit,拥有超过15 万成员。 北京时间下午3点,在线297人。

r/DeepLearning:讨论深度学习的 subreddit,拥有超过 40 万成员。北京时间下午3点,在线27人。

r/ChatGPT:讨论chatgpt和AI的 subreddit,拥有超过 470 万成员。北京时间下午3点,在线954人。

以上四个已经涵盖了可能互联网新应用的80%的有用信息,建议专门看看。网页翻译是个好助手。

Hugging face

Hugging Face是一家专注于自然语言处理(NLP)领域的公司,致力于推动机器学习模型的开源协作和共享。该公司提供了一个名为Hugging Face Hub的平台,用户可以在此托管、共享和发现机器学习模型和数据集。Hugging Face的目标是成为机器学习界的“GitHub”,通过搭建平台为开源界和科学界赋能,弥补科学与生产之间的鸿沟。

华为AI内部人士曾说,他们也努力建立一个中国版的hugging face。

Kaggle

Kaggle 是一个全球知名的数据科学和机器学习竞赛平台,它为数据科学家、研究人员和机器学习爱好者提供了一个协作、分享和竞争的环境。Kaggle 由 Anthony Goldbloom 在2010年创立,后来在2017年被谷歌收购。

Kaggle 的主要特点包括:

1. **数据科学竞赛**:Kaggle 定期举办各种数据科学竞赛,这些竞赛通常由企业、研究机构或个人赞助,旨在解决实际问题或推动数据科学的发展。参赛者需要使用机器学习算法对提供的数据集进行分析,并提交他们的解决方案。

2. **数据集**:Kaggle 提供了一个公共数据集库,用户可以上传和分享他们的数据集,以便其他数据科学家进行探索和分析。

3. **Notebooks**:Kaggle Notebooks 是一个基于云的Jupyter笔记本环境,用户可以在上面编写代码、运行数据分析和机器学习模型,并与社区分享他们的工作。

4. **Kernels**:用户可以创建和分享代码片段(称为Kernels),这些代码片段通常包含数据分析、可视化和机器学习模型的实现,其他用户可以对这些Kernels进行评论、点赞和复用。

5. **社区**:Kaggle 拥有一个活跃的社区,用户可以在论坛上讨论数据科学问题、分享经验、寻求帮助或提供解决方案。

6. **学习资源**:Kaggle 提供了各种教育资源,包括教程、课程和学习路径,帮助用户提高他们的数据科学和机器学习技能。

Kaggle 不仅是数据科学家和机器学习从业者展示和提升技能的舞台,也是企业和组织寻找数据科学解决方案的重要平台。通过Kaggle,用户可以接触到最新的数据科学挑战,学习先进的技术,以及与全球的数据科学社区互动。

AI Meetup

Artificial Intelligence groups | Meetup全球人工智能爱好者的聚会平台,提供交流学习的机会。您可以找到有关人工智能的各种活动和讲座。

实测:加入进去后,会显示附近有人参与的组织或者圈子,可以加入进去。但是似乎深圳这边并没有多少AI组织,反而是一些FIRE团体等。不过也有许多搞AI的,举办小型在线研讨会,如建筑方面的等。

Papers With Code:  The latest in Machine Learning | Papers With Code 是一个收集了学术论文和代码的网站。您可以按主题、方法或数据集浏览论文。
AI 组织
  • facebookresearch: Meta Research · GitHub:Facebook AI 研究团队的官方组织,拥有超过 300 个开源项目,涵盖自然语言处理、计算机视觉、机器学习等领域。
  • google-research: Google Research · GitHub:Google AI 研究团队的官方组织,拥有超过 1000 个开源项目,涵盖机器学习、计算机视觉、自然语言处理、机器人等领域。
  • microsoft: Microsoft · GitHub:微软官方组织,拥有超过 700 个开源项目,涵盖人工智能、软件开发、云计算等领域。
  • deeplearning-ai: deeplearning-ai · GitHub:由 Andrew Ng 教授创建的深度学习社区,拥有超过 20 个开源项目,涵盖深度学习基础、计算机视觉、自然语言处理等领域。
  • openai: OpenAI · GitHub:非营利性人工智能研究实验室,致力于推动人工智能技术的安全和公益发展,拥有超过 50 个开源项目,涵盖强化学习、自然语言处理、机器人等领域
paper-readingGitHub - mli/paper-reading: 深度学习经典、新论文逐段精读li mu读论文,并录制视频,基本上每月都更新。(到2023年3月30日没更了?)
Github中文社区
简介
GitHub 中文社区【社区】
GitHub中文社区 | GitHub中文网首页

一个中文社区平台,内有:

”新手训练营“:适合所有人都交互式课程。

GitHub趋势:查看当前趋势和历史去世

“排行榜”:查看GitHub上最受欢迎的开源项目

“GitHub精选”:精选优质开源项目和学习资源

“论坛”:开发者论坛

等。

hellogithub【个人83k项目】
GitHub - 521xueweihan/HelloGitHub: :octocat: 分享 GitHub 上有趣、入门级的开源项目。Share interesting, entry-level open source projects on GitHub.月刊:每月 28 号以月刊的形式更新发布,内容包括:有趣、入门级的开源项目、开源书籍、实战项目、企业级项目等,让你用很短时间感受到开源的魅力,爱上开源!

举例:

以reddit为例,当你在刷https://www.reddit.com/r/MachineLearning时,你可能会有如下结果:

 这些结果是大多数人同业人的疑问,也可能会让你从困惑中走出来。以下的回答1,2,3代表不同的答疑者。(ref:以下内容浏览及摘要花费总时间为1.5hr)。

大家好,我目前正在读工程学的第二年,主修计算机科学,重点是人工智能和数据科学,现在将进入第三年。我需要一台电池续航时间很好,并且能够运行ML模型的笔记本电脑。我不使用笔记本电脑玩游戏,我甚至准备使用Linux,并将Web开发作为业余爱好。此外,我正在寻找一台笔记本电脑,它可以使用至少4年,具有能够支持最新库的硬件,并且经济实惠。有谁能推荐一款符合这些要求的笔记本电脑吗?先谢谢你的帮助!

回答:1,

买一些质量好的(键盘和屏幕)但不是特别强大的东西,比如MacBook Air或更好的Chromebook。Mac在计算机科学方面略胜一筹,因为命令行比Windows更接近Unix/Linux。

对于实际的ML,只需在需要时使用云即可。它的速度会更快,而且在未来的四年里它会继续变得更便宜。

2,

预算选项:使用Thinkpad T470和更新,或挥霍X1碳。Thinkpad的电池和键盘在Windows笔记本电脑中一直是一流的
无限制:MacBook Air M3或M2/1 Pro(由于支持1个以上外接显示器)。市面上最好的键盘、触控板和电池。

你不想要一台可以运行ML模型的机器,如果你需要GPU,就把它们扔到google colab上。否则对于来自sklearn/xgboost的模型,这些机器就足够了

3,一个诚实的更有利于工作的做法是买一台chromebook或者翻新的macbook air,然后在云计算盒上运行你的实际工作

嘿,伙计们,21M, CS大三,我真的陷在一个坑里有一段时间了,我对DL之类的东西很感兴趣,但是不管我怎么努力,我什么都留不住,我看着我的同龄人做得这么好,而且在这个领域精通,这真的让我对自己的感觉更糟。我尽力去学习,但在一天结束的时候,我又回到了我开始的地方。如果有人经历过同样的停滞期,指导我,或者指导我,我会很感激的。

回答:

1、我的2c是尝试做一些迷你项目,让你在kaggle上为一个数据集制定一个小目标,然后通过代表构建一个模型,训练和测试并改进它一点,然后用一个新的数据集重复。我认为他们是代表,看到整个循环,你会开始有更多的直觉来帮助记忆东西

2、嘿,伙计,完全明白你来的地方。我也很难碰那堵墙,特别是在大三的时候。DL是一个完全不同的野兽,有如此多的存在,它可以获得压倒性的快速。
事情是这样的:你的同龄人似乎在一起了?他们有时可能也有同样的感觉。每个人都在某种程度上假装。诀窍不是永远不碰那堵墙,而是想办法爬上它。
有几件事帮了我:
尽快动手:不要只盯着理论。找一个小而愚蠢的项目,强迫自己让它发挥作用。弄得乱七八糟,弄坏东西,然后用谷歌搜索。你会保留更多。
找到你的人:一个学习小组,一个导师(甚至是一个年长的学生),或者只是几个你可以诚实地咆哮的同学。它有助于保持你的理智,你可能也会学会一些技巧。
“精通”是一个谎言:没有人知道一切。选择一件事(NLP,图像的东西,任何激发你兴趣的东西),并专注于做好它。剩下的以后就更容易了。
这有时是个磨人的事,但你有这个。还有——喘口气。离开一会儿可以帮助你恢复原状。祝你好运!

3、做个人项目。这些都是学习和保留技术和概念的好方法。关于ML和DL的事情是,有几乎难以想象的不同数量的技术可以尝试,但只有有限数量的基础应用于每个项目。做个人项目可以帮助你尝试一些前者,同时巩固后者

4,嘿,我可以理解你的挣扎。我是一个22M的CS毕业生,我也有过我的感觉被卡住和气馁。DL的领域是广阔的,试图一下子全部吸收它可能会让人喘不过气来。我的建议是将其分解为更小的、可管理的块。从最基本的开始,循序渐进。不要把自己和别人比较,每个人都按照自己的节奏学习。只要专注于进步,无论多么小。当你需要帮助的时候,不要害怕寻求帮助。联系你的教授、助教或同学。还有大量的在线资源和社区,你可以与正在学习DL的其他人联系。只要坚持下去,你最终会到达那里的。

问:嗨,伙计们,我必须以这样的方式对瓶子的图像进行分类:合适的和不合适的,其中不合适的是瓶子被切成两半的那种。问题是:我没有用于不正确图像的数据集。我尝试构建一些cnn用于特征提取,然后计算图像之间的余弦以找出异常,但这不够,特征提取似乎工作得不好。有什么解决此类问题的建议吗?

回答:

1,你可以考虑的一种方法是使用图像增强技术来生成合成的“不合适的”图像。这涉及通过裁剪或旋转现有的“正确”图像来修改它们,以创建类似于“不正确”条件的新图像。通过使用这些合成图像来扩充数据集,您可以为模型提供更多的训练示例,并有可能提高其分类“不合适”图像的性能。

2,对于CNN训练,你是从头开始训练还是使用迁移学习?你的数据集有多大?

提问者回复:我有500+瓶完美状态,400+粉碎(但还是合适的瓶子)和10个异常(切成半瓶)。顺便说一下,不是很多。但是,我可以使用一些数据集和预训练模型来检测瓶子(没有任何区别),如imagenet预训练模型或TACO预训练模型。

答:这种大小的数据集不足以从头开始学习,请尝试使用imagenet权重进行迁移学习

3,使用CNN自动编码器代替CNN。变异或其他。这应该为您提供一个更好的特征数组来查找非正常的。使用它可以尝试找到要在标准分类器中使用的非图像。(或者使用编码器作为分类器的第一步)

4,如果你可以得到更多的图像,那么最适合这个问题的方法是图像分类。

5,可能是看看yolo模型。有一些来自youtube的视频,我认为“Roboflow”或类似的,它显示了你的用例。

问:使用AI绘制地图

希望这是我想做的正确的潜艇。如果不是,我相信会有很多人会告诉我去哪里

我住在一个小城镇,喜欢用自行车来娱乐和锻炼身体,而不是开车。该镇很少有指定的自行车道,我想扩大他们与一些街道水平的路线,有最少的停车标志等。就像我在其他城镇看到的那样。我想知道是否有一种方法可以使用AI来分析交通管理标志的街景视频,然后将其绘制在地图上,以便后期导出和打印?

有人知道我如何开始这样的事情吗?谢谢

回答:1,我没有任何AI解决方案,但Garmin有/有热图,所以你可以看到骑自行车的人走的路线,这可能会有帮助。你不需要拥有一个Garmin来查看它们。

2,用计算机视觉分析街景数据并将其填充到类似于OpenStreetMap的东西中似乎是可行的。虽然听起来并不便宜

3,对于一些可能已经捕获并输入的数据,这似乎是一个过于复杂的解决方案。 OpenStreetMap.org -转到图层并打开“自行车地图”。虽然他们映射了停车灯,但我不认为他们映射了停车标志,它应该有自行车路线的原始数据。

(如果您的城镇尚未映射,您可以为其映射做出贡献。)

问:我是统计学的硕士生。我的背景几乎都以基础统计理论为基础,我的论文是关于非参数估计(特别是非参数回归)。基本上,我的“机器学习”知识来源于一些经典的非参数估计书籍,如(Tysbakov、Wasserman、Tibshirani/Hastie和Friedman)。统计学习的元素几乎是我在机器学习方面的背景,因为我的论文是关于非参数回归的经典方法之间的交叉,如基于树的方法,核平滑器和样条函数,用于在因果推断中估计平均治疗效果。

然而,我有时会觉得我的机器学习背景“相当老”。正如,我不知道非参数回归背景对于现代机器学习工作有多大的吸引力。我们在一般的非参数和统计中深入研究了很多渐近理论,我知道对于大多数机器学习工作,没有人真正关心渐近保证。

有人知道我的知识是否真的与在当今这个主要与神经网络有关的时代获得一份机器学习工作有关吗?

答:1,大多数机器学习工作实际上只是普通的软件工程职位。“机器学习工程师”和一般的“软件工程师”之间的区别在于,ML工程师还需要知道如何进行一些真正的数学运算。

因此,就获得一份工作而言,有你背景的人最大的不足通常是他们缺乏编码经验。但这是直接解决的,你只需要练习leetcode问题等。

如果你想做ML的东西,那么学习神经网络和诸如此类的东西是一个好主意,但这实际上并不是很困难。我假设你知道线性代数、统计学和微积分中的链式法则,因此你已经知道90%的真正重要的东西。其余的由细枝末节和适应该领域的(经常是可怕的)行话组成。

继续问:编码经验比练leetcode lol多一些

答:如果你能把leetcode的问题做得很好,那么你就能找到一份工作🤷

你是否会在实际的软件工程中做得很好是另一回事,但OP并没有问这个问题。基于这个原因,我个人一般是反对leetcode面试题的。

问:应用科学家的角色需要博士学位吗?只有ML相关的工作才适合MS候选人MLE吗?

答:问题是,“应用科学家”和“MLE”通常是完全相同的职位,只是名称不同。我认为“应用科学家”这个头衔存在的唯一原因是它听起来对求职者更有吸引力。比如,考虑从 这个亚马逊应用科学家的招聘广告

您将发明、实现和部署最先进的机器学习算法和系统。您将构建原型并探索概念上的新解决方案。

这是非常讨人喜欢的语言,但它实际上只是描述任何通用软件工程师的活动。

我认为大多数招聘广告(如上面的例子)都说,他们想要博士或硕士。这些工作几乎从不需要博士的专业知识,但如果公司能得到这些人,他们会很乐意接受更多而不是更少的人,而不是更少的人。

实际的研究职位并不常见,他们通常需要博士学位。

问:布雷加夫:你是极少数真正在这里提出了很好建议的redditors之一。谢谢你。

2,你应该知道如何使用像git一样的版本控制。并理解持续集成和部署的目的。知道如何为你的软件/模型编写自动化测试等。

其他建议可能取决于你想在哪里结束。气流和其他数据管道有助于拥有可复制的管道。大多数公司也使用云服务,因此了解最受欢迎的产品将有很大帮助。例如,像AWS S3这样的对象存储提供了什么。

3,只需阅读Ian GoodFellow的《深度学习》一书(考虑到您的背景,我认为阅读速度会更快)或同等版本,并在实验室中获得使用现代深度学习框架(Flow、tensorflow等)的经验,以进行更前沿的深度学习研究。我想你会没事的,足够多的回合。

问项目:我使用AI特工去感化新闻。

在当今世界,朗朗上口的标题和文章常常会分散读者对事实和相关信息的注意力。简单新闻试图打破争论,提供关于实际发生的事情的直接的每日更新。通过协调多个AI代理,简单新闻处理耸人听闻的新闻文章,并将它们转化为一个有凝聚力的、以新闻为中心的播客,每天跨越许多不同的主题。每个代理负责这个过程的不同部分。例如,我们有执行以下功能的代理:

分类器:扫描大量新闻源,并根据与播客类别的相关性和重要性筛选文章。

投手: 为每一篇排序的文章精心制作一个引人注目的宣传语,同时考虑到文章中呈现的叙述角度。

法官:评估广告宣传,并作出编辑决定哪些内容应该被覆盖。

 脚本编写者:为评委选择的文章起草一个引人入胜的脚本,确保听证的清晰度和准确性。

我们的AI被引导选择与播客类别最相关的新闻文章。将人从这个循环中移除意味着明确的偏见不会被考虑到要覆盖什么的决定中。

人工智能的决策也更加可审计,这种透明度是为什么人工智能可以成为消除新闻中偏见和耸人听闻的有力工具的一个关键原因。

你可以在这里听 Simply News

答:1,真棒。你有没有考虑过新闻机构,像路透社,美联社,...?他们把事实卖给新闻机构,这样他们就可以通过他们的耸人听闻的转换器来运行它。

2,这很酷,我喜欢!但是,你能不能有文字版的播客,因为我喜欢看新闻。我发现,如果我阅读,我的注意力会更集中,而且不会被打扰。有这种可能吗?

3,这可以说是可以进行的最具人性的项目之一。另外,这篇文章显然是一个AI写的。不管怎么说,干得好!

问:大家好,我来到这里是因为我对我的最后一年的项目感到不知所措,我希望你们中的一些人可以提供一些指导或建议。

所以,情况是这样的:我最近开始做我的最后一年的项目,说实话,进展并不顺利。我的上司一点也帮不上什么忙,我感觉自己就像被扔进了深渊。该项目专注于机器学习和深度学习,但问题是,我在这个领域的知识是零。更糟糕的是,我的主管似乎在ML/DL方面也没有太多专业知识。

我参与这个项目的原因是,我的主管似乎更关心与系里从事AI相关工作的其他教授相处,而不是考虑我自己的技能和兴趣。感觉就像我被逼进这个项目只是为了填补一个名额。

所以,我在这里,感到迷失和缺乏方向。我的主题是“使用微阵列乳腺癌数据集进行癌症预测”,鉴于我缺乏ML/DL的经验,这听起来令人生畏。

我真的很希望与一些在这个领域有经验的人联系,他们可能能够就如何创造性地处理这个项目提供一些指导,从哪里开始,我可以使用哪些资源来学习,以及您认为可能有帮助的任何其他建议。

提前感谢您能提供的任何帮助。

答:1,

好吧我能感受到你的痛苦。这是典型的“雄心勃勃的教授,无知的学生”的情况。去过了,拿到了T恤。以下是如何扭转局面(或至少生存下来):

  1. 管理期望(尤其是你自己的期望):你不会一夜之间成为ML专家。也不会在几个月内彻底改变癌症研究。这个项目是关于学习游泳,而不是赢得奥运会奖牌。

  2. 找到你的“非官方”顾问:联系博士生、博士后,也许是做过类似事情的年长学生。一个真正了解他们的东西的人——这是关键——愿意解释基本知识,而不会让你感到愚蠢。

  3. 细说:“用微阵列数据预测癌症”是巨大的。专注于微小的步骤:了解微阵列数据是什么。学习基本的数据清洗。首先尝试一个超级简单的分类器。微小的,可实现的里程碑让你不再恐慌。

  4. 获取资源:在线课程,玩具数据集,任何建立熟悉度的东西。不要奢望完美,只要开始了解词汇和流程就可以了。

  5. 残酷的事实是:在某些时候,你可能需要和你的上司谈心。不是指责他们,而是说,“我很兴奋,但要想做好这项工作,我需要ML方面的更多支持。我们能不能制定一个学习计划?”
    好处:“愚蠢的问题”权力动作:在会议中,问真正基本的问题。迫使你的主管要么承认他们超出自己的深度,要么实际解释事情。
    这并不容易,但它是可行的。老实说,一旦你离开大学,自己想办法是一种超能力。你得到了这个...有点?

2,嘿,我可以理解你的沮丧。当你得到的项目与你的技能或兴趣不一致时,这很糟糕。以下是我建议的几点:

  • 和你的主管开诚布公地谈谈。 解释你的担忧,寻求更多的支持。如果他们不愿意提供帮助,可以考虑联系系里的另一位教授或教员。

  • 做自己的研究 从了解机器学习和深度学习的基础知识开始。有大量的在线课程和教程可用。一旦你有了基础,你就可以开始探索你项目的特定领域了。

  • 找一个导师 与在机器学习或深度学习方面有经验的人联系。他们可以提供宝贵的指导和支持。

  • 将项目分解为更小的任务。 这将使它不那么令人生畏,更易于管理。从一个小任务开始,并在此基础上逐步构建。

  • 不要害怕寻求帮助 有很多人愿意帮助别人学习。联系你的同学、教授或在线社区。

问:掌握深度学习的直觉数学。我正在用它学习PyTorch,梯度下降,反向传播,各种损失和优化器函数和其他算法,所有这些都被PyTorch抽象出来了。我有点理解它,但不是真的。如果你想真正擅长深度学习,那么你需要对数学有非常直观的理解,主要是线性代数和微积分。你们中有人能告诉我如何掌握深度学习带来的数学吗?

答:1,观看关于神经网络的3blue1brown视频。你也可以考虑观看线性代数视频。这是个好的开始。比起书,我更喜欢视频。

2,实际网络的数学是相当简单的微积分和线性代数。为了直观理解,我将研究信号处理、信息论和可能的控制理论(如果你想进入RL方面)。

3,我建议尽可能详细地了解点积(加权和)。然后是在相同输入上操作的多个点积的集体行为,这更多的是矩阵线性代数。

如果你把ReLU看作一个开关,当它的输入x大于零时连接,当x小于零时断开,你可能会比许多顶级研究人员更了解神经网络。

反向传播是一种混乱的形式,只是发送回一个误差向量。如果您将其视为发送回多个误差向量,然后只对它们求平均,这可能是没有问题的。

如果你以一种特殊的方式构造神经网络,你可以只发送一个简单的误差向量,尽管它在返回时在每一层得到不同的转换。然而,这是先进的。

无论如何,不管我写的其他内容如何,只要深入到点积的真正细节,甚至从随机变量的加权和的角度来看点积,以获得一些统计上的理解。

问:我注意到,当涉及到ML的某些事情时,我和我的同事有不同的直觉。例如,在事物应该被标记的方式。

对于一个用例,我们希望检测距离摄像头最近的车辆。我认为我们应该在后处理步骤中处理这一点,并让模型通过标记图像中所有可见的车辆来检测所有车辆,因为它们具有相似的特征。我的直觉是,只标记离摄像头最近的车辆将导致模型学习可能导致过拟合的非常具体的特征,因为它将尝试区分距离更远和离摄像头最近的车辆,尽管它们共享使它们成为车辆的通用特征。我的同事认为,只有最近的车辆才应该被标记,因为他们感兴趣的是检测。

类似地,我们在是否应该标记部分可见(小于30%可见)对象的问题上也存在分歧。我认为它们应该是这样的,因为如果你观察训练期间发生的增强,部分可见的物体不可避免地会由于某些增强而出现,就像缩放和马赛克一样。因此,避免在原始图像中标记它们只会导致训练过程中的不一致性,其中一些部分对象被标记,而其他对象则没有。他们不这么想。

TLDR;对ML的直觉和理解存在差异是典型的吗?

答:1,即使我认识的ML中的人多年来都在做同样的任务,每个人对待事情的态度都是不同的。这在历史上的新科学中很常见。ML中很少有“操作标准”被确立为做某些事情的最终方式。它们会随着新事物的发现而不断变化。我相信这是应该接受和考虑的事情。

随着技术,或任何有关这方面的科学,持续了十年,它通常会留下一种“决策树”来遵循,以获得给定交易的最佳结果。我们离ML中的决策树还很远。

2,夏约:从理论的角度来说,你是对的。

但作为一个在工业界运行过许多CV项目的人,我可以告诉你,注释成本通常是迄今为止构建自定义cv模型的最大成本因素。当“为狭义的任务定义”和更全面的标签协议之间的差异是项目总预算的3倍时,首先尝试简单而狭义的解决方案是明智的。

欧菲塔:我想你是对的,它可以比看起来更细微。但是,鉴于OP的信息,听起来只是检测所有的汽车应该工作,因为任何预训练的模型应该已经在这方面很不错了。检测模型也具有相当高的标签效率,所以你可能不需要那么多的注释。只是稍微细点而已。

但是,如果将任务从“检测所有车辆”切换到“仅检测最近的车辆”,则基本上必须重新训练模型。

当您将任务设置为仅预测最近的车辆时,您将迫使模型不再依赖于“什么使汽车成为汽车”的特征。它必须依靠其他东西来区分应该被检测的汽车和应该被忽略的汽车。我想最容易回到的是尺寸。最大的汽车(就图像上的像素而言)最有可能是离摄像头最近的汽车。模型可能会学习这种联系,并开始依靠图像中汽车的大小来预测哪一辆最近。这就是过拟合,因为它的泛化效果很差。发射后的第二天,图像上会有一辆巨大的卡车,模型会认为它是最近的,即使它不是。

不是说百分之百会发生这种事,但很可能会发生类似的事情。你可以用足够大的数据集覆盖足够多的案例来对抗这种情况。

3,是的,一直都是。最终,在你描述的情况下,你只需要尝试两种方法,看看哪一种效果更好(在我看来,在这种情况下,这是一个很容易设置的实验)

4,我几乎在与其他人合作的每个项目中都经历过,因为数据科学既是艺术,也是科学,每个人都有自己的思维方式。有时你的直觉是正确的,有时别人是正确的。你怎么知道?通过实验和测试不同的假设。

5,与同龄人有不同的想法并不稀奇。相信不同的选择是最好的选择也并不罕见。你如何与你的同事一起决定尝试哪种方法,以哪种顺序,是ML工程中协作的一个很好的部分。

在你的例子中,你和你的同事都不是严格意义上的错误。他们采用更传统的深度学习方法,而你却在认真思考问题的具体结构。你可能试图做太多学习算法的工作/你可能无意中破坏它,给它太难或太宽泛的问题。如果没有你的方法提供的更广泛的数据,他们可能会发现他们的更直接的方法是无效的。我可以预见事情的发展(尽管,如果我是一个赌徒,我会说,如果他们的方法不起作用,你的方法也不太可能)。

讨论:

之前的一段时间,我读到了半监督学习和伪标签。根据我读到的概念,你有一些监督数据和更多的无监督数据。现在,我们在监督数据上训练一个模型,然后使用相同的模型为无监督数据生成伪标签,然后使用这些伪标签再次训练该模型。

现在我们只使用一个模型。现在,如果我们尝试对两个模型做同样的操作。现在我有一个很重的transformer模型,它的性能非常好,但我不能使用它来实现我的目的,因为它是一个很重的模型。所以我所做的是使用transformer模型来获得伪标签,然后在具有真实标签和伪标签的数据上训练一个较小的模型(假设CNN模型)。

只是想知道是否有人尝试过,这是个好主意吗?

答:

1,这听起来像是知识蒸馏的扭曲,你用一个大的、强大的模型作为一个小的模型的“老师”。以下是我的观点:
潜在优势:
准确率提升:与单独在监督数据上训练相比,Transformer的知识,甚至通过伪标签,可以让你的CNN领先一步。
效率:如果部署速度/规模是瓶颈,这是很聪明的。你可以得到变压器的部分功率,而不需要它的开销。
新奇感:我还没怎么见过这种确切的组合,所以如果它工作得好的话,有一个很酷的研究角度的潜力。
需要注意的事项:
伪标签质量:垃圾进,垃圾出。如果你的transformer最初的预测是不可靠的,它会误导CNN。从一个任务开始,你的transformer应该出色地获得更干净的伪数据。
数据集兼容性:变形金刚喜欢序列,CNN喜欢图像。如果您的数据类型不匹配太大,这可能会适得其反。
过拟合的可能性:CNN可能过于依赖伪标签。确保你有一个具有真实世界数据的健壮的验证集,以保持事情的诚实。
实验时间!
绝对值得一试。下面是我会做的:
Baseline:仅在监督数据上训练CNN。
你的做法:你的transformer +伪标签+ CNN管道。
变体:尝试在完整数据集上微调预训练的transformer(如果可能)和你的CNN。
仔细比较结果,而不仅仅是准确性。如果你的方法在最小的精度损失下获得了很大的速度增益,那就是胜利。

2,我没有亲自尝试过,但这绝对是一个很有前途的主意!使用更大、更鲁棒的模型进行伪标签,然后在生成的伪标签上训练一个更小、更高效的模型,可能是利用这两个模型的优势的好方法。看看它在实践中的表现会有多好,这将是很有趣的。

3,只要伪标签是高质量的,那么你可能就没问题了。考虑查看伪标签。伪模型中的任何错误都将被继承。考虑输出一个置信度分数,然后开始检查那些置信度较低或肯定被其他模型标记为错误的。

问:

我目前是一家创业公司的一员,我正在探索优化LLM api使用成本的方法。

我们的服务不需要实时LLM交互。相反,我们每1小时堆积超过1000个类似预测的任务,并在每个小时的前10分钟内处理。鉴于这种使用模式,延迟和保持GPU存活并不是我们的主要关注点,这让我相信开源LLM对我们来说可能是一个具有成本效益的解决方案。

但是,我自己对云GPU服务和服务LLM的了解相当有限,所以我有一些疑问。

  1. 对于我的特定用例,使用开源LLM可以降低与LLM API使用相关的成本,这样的假设是否准确?

  2. 弹性伸缩和Serverless有什么区别?具体来说,是否可以仅使用单个GPU实例使用自动扩展,在大部分时间内维护较小的CPU实例,并仅在必要时分配GPU?如果有可能,这种方法是否能有效降低成本?

  3. 如何使用vllm库进行批量推理?它能自动优化单生成的并发请求吗?

  4. vllm兼容无服务器计算框架吗?简单地将基于VLLM的Docker镜像(通过Dockerfile构建)部署到像RunPod这样的无服务器GPU服务上就足够了吗?是否需要具体的考虑或步骤?

答:1,基于API的推理比自托管更便宜(截至3月24日)。来源:半分析

2,

我对vllm不够熟悉,无法回答#3和#4,但前两个非常在我的驾驶室。

对于我的特定用例,使用开源LLM可以降低与LLM API使用相关的成本,这样的假设是否准确?

既然可以计算,为什么还要做假设呢?从你的任务中取一个有代表性的样本,对提示和输出进行标记化。将这些标记插入定价模型中。然后使用你正在使用的任何GPU实例,并将其分解为每分钟的价格。哪个更大?

如果我们假设每个推理任务需要1000个提示令牌和1000个响应令牌,那么假设每小时有1000个任务通过他们的API执行Mixtral 8x7b,您将看到1.4美元/小时。

对于自托管,我们必须从GPU VRAM要求开始,8x7b至少需要100GB。runpod有1x GPU和8x GPU选项,最大的单个GPU有80GB VRAM,让我们以runpod的8x RTX 4000 Ada安全云选项为例,它将为您运行3.12美元/小时的非无服务器产品。他们的无服务器产品似乎不支持多gpu工作负载,因此,如果您需要运行8x7b,无服务器将不是一个选项。

因此,在这些假设下,自托管8x7b不会更便宜。尽管很明显,如果runpod按分钟计费而不是按小时计费,并且您愿意自动启动/关闭实例,则情况会发生变化。或者如果您需要使用总计超过2000个令牌,或者如果您可以使用混合7b而不是8x7b。

有一个很大的警告是 每个人 不过,这一点需要注意的是维护、保护和监控实例的成本,即使是像runpod这样的无服务器选项也会附带 有的 因此,在为自己计算这些数字时,要考虑到与之相关的劳动力成本的悲观观点。

3,推理公司的创始人,除非您使用接近峰值利用率的GPU,并且具有良好的GPU定价,否则您将无法在价格上击败任何API提供商。即使使用vLLM运行您自己的模型,在更大规模上操作可能会很复杂。如果我在做另外一家公司,我会从别人那里购买,你不会通过做你的推理服务来使啤酒的味道更好。

问:需要视觉变压器相关资源。你好,我想通过meta使用Masked AutoEncoder(MAEs)论文中提到的方法训练一个轻量级的ViT 链接.

我对变形金刚不是很了解。我没有时间去学习所有的东西,因为我有一个截止日期。有人能给我推荐一些非常好的资源吗,这样我就可以从ViT开始了。

答:1,

你好,我也有兴趣学习视觉变形金刚和MAES论文。我发现这些资源很有用:

我希望这对你有帮助!如果你有任何其他问题,请告诉我。

2,

找到了 1相关代码实现 的“Masked Autoencoder是可扩展的视觉学习者”。

如果您有要与社区共享的代码,请添加 在这里 😊🙏

--

要选择退出接收代码链接,DM我。

20240314

问题一:2024年物理学启发模型的相关性?基于物理的机器学习模型,如伊辛模型、玻尔兹曼机器、Hopfield网络似乎在2010年代后期很流行,但在GPT和Sora等gen ai模型的时代,对这些思想是否有很大的兴趣?如果这些想法失宠了,为什么?

答:1虽然我不是该领域的专家,但从我收集到的信息来看,受物理启发的模型仍然是相关的,但与GPT和SoRA等最近的进展相比,它们的受欢迎程度可能有所下降。原因可能是这些较新的模型为特定任务提供了更好的性能,例如自然语言处理和图像生成,这些任务目前需求量很大。然而,我相信,受物理学启发的模型在解决复杂问题方面仍然有其一席之地,因为它们的优势,例如它们建模物理系统的能力,可以被有效地利用。

有些资源可以被学习:如goodfellow的深度学习

问题二:将动作识别为对象检测。假设你想使用物体检测器识别运球篮球的行为(只是一个占位符)。它丢失了时间信息,但仍然可以从动作图像中学习特征映射的变化。我这背后的动机是轻量级物体检测器可以达到的绝对速度,同时还能相当准确,这得益于多年来对CNNs的研究和改进(YOLOv9刚刚发布)

在此方面可以做哪些前期工作?这可能是一个有代码的文件上的任务吗?期待各位redditor的讨论,让我们看看我的第一篇帖子是怎么写的。

答:1,我工作的公司,专门做活动识别。我们已经尝试了基于CNN的架构,甚至通过将多个帧作为张量传递给它们。没有达到我们的预期。

我们使用MVD和VideoSwin架构获得了非常好的精度。

2,嘿鬼,我同意,MVD效果最好。即使我在一家动作识别初创公司工作,mvd/mae也能快速收敛到可接受的精度。但问题是MVD需要大量的预处理,从人物/姿势检测到序列创建。这就是为什么我正在研究减少真正通过重量级MVD的序列数量的方法。如果我们可以利用Yolo的端到端优化并训练预处理模型来检测/构建目标动作的存在。例如,对于识别动作运球/投篮,预处理模型可以是物体检测器(球员和球)以将球与球员/空气相关联,也可以使用目标球员的姿势地标,或者在与mvd相同的数据上训练的简单的运球物体检测模型。但就像你说的,你已经试验够多了,到了死胡同。

问题三:【讨论】有没有一个网站,可以把最近的ML论文用非常简单的文字进行分解,用可视化的方式对数学进行全面深入的解释?

答:Hu-po很适合做这个 https://m.youtube.com/channel/UCI5dM9hNYAXwuvhQRXwzzww

20240319:

问题1:【D】构建ML系统vs项目。讨论 

我个人把时间花在传统软件工程师和机器学习之间。

每次我构建或处理一个模型时,我的强迫症就会开始,笔记本,脚本,没有真正的抽象等等。所有的ML代码感觉可能会被扔掉,直到它工作,在这一点上,我还不如保留从垃圾代码创建的模型。

在过去的阅读和提问中,我想我们中的许多人都为此而苦恼,是的,有一些最佳实践,但ML项目似乎更多的是使用VS这个长寿的软件。

因此,我想讨论的是,人们是否考虑过用与软件相同的方式来构建他们的ML系统?例如,每个模型都有一个路由,每个报表都有一个UI视图。用户可以登录和播放系统的每个功能,它是经过测试的!想法?如果有人之前看到过这个概念,任何参考都会很神奇!!

答:我将我的机器学习产品作为软件来构建。因此,我们提供了用户界面,包括管理模型和使用模型的功能。

管理包括一些基本信息,如模型的ID和基本统计信息,这些信息进入数据库,而权重则进入存储。

然后管理的一部分是允许训练和加载推理。

机器学习的“常规”软件方面是数据QA/QC管道、数据摄取实用程序和可视化组件。

然后是用户软件方面,它允许不同类型的用户与软件套件进行交互,并提供不同的功能。有一些基础用户只需要模型推理,有一些更高级的用户需要整理他们想要训练的数据,然后是数据科学家,他们与QA/QC流水线合作并训练新的架构。

软件套件由关注点分隔。数据及其管理,ML模型,机器学习模型管理,用户界面,数据库和MVC内容模型。

这对于交换不同类型的模型和数据非常有用,同时允许您展示用于使用您的模型。

所有这些都假设你要将模型的使用作为产品来销售。

为您的机器学习项目创建软件,以便它们可以作为产品销售。

问题2:做ML三年了,还没有成功。是常见的吗?

我现在在ML研究领域工作了1.5年,更具体地说,我是医学成像,之前是DL工程师,负责构建面部识别管道。尽管我有很好的理解和所有的关注点,但我还没有为我工作过的所有用例制作一个足够好的系统或模型。

在过去的4个月中,我正在探索“从噪声标签中学习”,我使用了3种技术,花了很长时间集成目标加载器,但结果很差,甚至比基线还差。之前,曾尝试使用混合自适应算法进行系统辨识,但失败了。为此写了一份技术报告。

另外,另一方面,我确实参与了在线比赛。香草的方法能让我排名前10%-20%,但当我试图改进它时,我总是失败。我的方法没有一个效果很好,尽管付出了所有努力,但超级令人沮丧。

 我并不试图建立一个最先进的模型,但至少希望自己能超越之前的基线或任何有意义的工作。

答:1,A:在大多数非平凡的问题上战胜基线是相当困难的。它们是基线是有原因的。

但是,看起来你试图在基线上改进的方式总是失败的,所以也许你应该重新评估你的决策过程。我不确定什么是“混合自适应算法”,但也许可以尝试更简单的改进方法?例如,基线模型的超参数优化,增加基线模型的参数大小=>只需对基线进行小的调整,看看哪些改进了,哪些没有改进——不要试图重新发明轮子。

        B:我离开神经科学去了生物信息学和ML,因为厌倦了没有逻辑的尝试和错误...有趣的是,ML也在那里结束了。。。

        C:ML有很多没有逻辑的试错。我们只是假装它没有,然后想出一个花哨的数学公式来解释我们的随机想法。

D :我附议。在应用更新的更复杂的方法之前,首先要充分描述基线。随着参数数量的增加,模型的缩放效果如何?在问题域中,计算与模型大小的权衡是什么?如果使用更多的参数,它没有改善,为什么?什么情况下会分解?是否有类似的问题域已解决此问题?它有多容易过度训练?更多的训练数据如何影响性能?理想情况下,你已经用尽了几乎所有的机会来渐进式地改进基线,并且已经遇到了阻碍你前进的明显障碍,那么你应该使用你从这中学到的东西来推动下一步。即,您无法再缩放模型大小,但仍然获得增益(即,您的缩放/性能曲线不再成立)。现在是您开始寻找替代方案,或添加到基线以克服这一挑战的技术的时候。

E:你是博士生吗?当我在读硕士的时候,并没有太多的建议,我曾经以为自己有一个好主意,花了很多时间去设计一个解决方案,结果发现这个解决方案无法与比较模型相提并论。一个积极的方面是,我学到了很多关于如何构建解决方案的知识。缺点是我的研究进度很慢。现在我意识到,做一个广泛的文献综述和比较模型性能真的很重要。之后,我可以基于我关于什么将最有效的假设建立一个比较模型,而无需从头开始。

竞赛(如Kaggle)需要不同的技能集,验证测试是超级重要的。研究中的大多数解决方案在比赛中并不真正有用。绝对是学习的有用的技能,特别是如果你想在模型上获得非常好的性能。在比赛中尽量以团队的形式工作,这样你们就可以一起讨论想法。另外,在比赛结束时看看最好的模型也是学习技巧的好方法。

E:我认为,在ML研究中,遵循“fail fast”的实验模式是有用的。最大限度地减少从想法到实现的时间,快速迭代。在您在小数据集上探索模型之前,不要承诺进行两个月的训练阶段。

F:我有一种感觉,你的注意力在错误的事情上。要写出有价值的研究论文,你不需要超过准确性指标。相反,你可以使某些方法更快、更便宜,深入理解它为什么工作或如何工作,使它更易于解释,在新的领域中应用某些方法,通过创建一个框架使人们更容易使用它。可能性是无穷无尽的。

        G:这不仅是研究,而且是对生活的伟大建议。不要试图改变世界,贡献一点力量,从那里开始进步。这叫做范围划分。

H:我花了8!在我的博士学位上工作了多年-我只在最近2年得到了一些工作(这是在SVM热潮之前,更别提DNN了)在你的情况下,我可能想使用更简单的数据来验证,确保你的模型在做它应该做的事情,测试非常简单的东西,比如1层或2层网络,甚至包括随机森林或朴素贝叶斯。

我在Google Brain团队借调了6个月,有两个项目,都未能击败现有的逻辑回归加特征工程方法。

请记住,当前的架构花了很多年,很多团队,都在特定任务上竞争。

I:大多数(>90%)的ML工作都是失败的——尝试没有成功的事情。

我发现有用的一件事是从成功/失败的思维模式转向迭代速度的思维模式:你能以多快的速度获得有效的结果(好的或坏的),你可以利用这些结果来正确地决定下一步要做什么?

J:

  • 定义成功的度量

  • 在val集上设置基线模型度量。

  • 在val集上评估实验模型时,深入挖掘?

    • val集是否接近真实世界,是否多样/健壮?

    • 模型在哪些例子上表现较差?

    • 训练集中是否有类似的例子?

    • 是否可以使用一些增强来重新创建困难的示例?

    • 在贴标签的时候可以采集吗?

    • 如果它们存在但本质上是稀疏的,则在线硬负挖掘、焦点损失、标签平滑等可能会有所帮助。

    • 模型是否校准良好?

      • 模型在硬示例上的表现是否符合预期?

您应该专注于理解模型出错的每个示例,而不是仅仅在黑板上扔飞镖,一旦您对模型出错的示例类型有了很好的理解,您就会对需要学习的转换类型、模型、技术或数据有了更好的了解。

K:正如其他人所说的那样,专注于数据。在你对数据有了很好的理解之后(特征的分布,异常值的存在,可能的模式,这里可能会考虑很多东西...)你选择最好的方法来处理建模。

L:除非你在Google DeepMind、Meta或OpenAI工作,否则不要担心用你训练的模型获得SOTA分数。你根本没有他们所拥有的计算能力,让他们发表的论文能够击败SOTA基准。例如,在Gemini Deepmind的技术报告中指出,他们使用16个不同的数据中心训练了他们的模型。

  1. 在我看来,你在探索阶段花费了太多时间。测试一个想法的时间不应该超过1周,这仍然是一个很大的时间。在我看来,快速测试想法的一个好方法是在单个训练示例上过拟合,然后逐步扩展数据集(必要时和网络容量)。

  2. 与2类似,总是从小处开始!即使对于香草方法,我认为将模型简化为其基本组件或使其更小可以让您更清楚地了解算法的不足以及如何解决这些问题。此外,处理较小的模型有助于您更快地迭代设计选择。

  3. 从之前的评论中,我看到您主要是在学术界工作。在这种情况下,我建议你找到一个你真正感兴趣并且你乐于探索和理解的问题。当你在工业界找到一份工作时,这一点就会改变:你应该构建一些能够真正产生商业价值的东西(让我告诉你,没有人使用在线竞赛中发布的解决方案)。

M:我学到的更简单、更直观的方法比复杂的算法更成功。我也因为实现错误而多次失败。有时候你的代码并没有做它应该做的事情。你的方法可能会因此而失败。这比你想象的要普遍得多。我在这里并没有什么不好的意思,但缺乏对基本面的了解可能是一个问题。当你试图改进一个系统时,看看别人在做什么。理解他们为什么这么做,然后用类似的方法开发你的方法。弯曲和混合:有时你唯一需要做的事情就是修改并将多个算法结合在一起,而不是一个复杂的解决方案。我的经验是,你使用的算法和你的数据集之间应该是一致的。也许在你的情况下,它们不匹配。忘记基线,专注于一个问题,收集你的数据集,自己整理你的数据集,在这个数据上应用不同的算法,专注于解决问题,而不是试图创建一个新的方法。如果你的研究是关于模型架构的,我的建议是放弃它。NAS系统已经创造了伟大的架构。专注于创新损失函数,你可以用最少的努力获得最大的效果。我希望我没有听起来那么高学历,只是提出建议。祝你们好运!

N:

我不会把这归为正常。虽然你提供了一些很好的信息,但没有足够的信息来分类。我经营一家ml公司,以下是我的经验。

有时,现实世界的需求并不适合ml模型。无论是问题的范围不够狭窄,还是你的团队没有能力选择你应该和不应该使用ML的地方,或者公司不愿意提供所需的资源。

我的第一个观点是,你不理解你试图改进的模型。但是,你提到你可以定期改进模型,所以我不确定是这样的。但是,请记住,制作自己的sota模型与调整已经存在的模型有很大的不同。

需要记住的一点是,特别是在长项目期间,难以调试的问题可能会在网络中传播,从而导致性能下降。当我们遇到像你这样的情况(项目长、结果差、逻辑好、方向好)时,我通常会发现备份和可视化网络的每一步并确认其正确性是有益的。像图像大小和分辨率的变化,数据的微小差异,都可能造成破坏。

我想我已经开始漫无目的了,但我希望这对你有帮助

O:视觉对象检测和面部识别被认为是非常困难的问题,有着悠久的研究历史。在一般案件的基准线上改进预计也会很困难。但是,如果你专注于特殊情况,例如,只检测特殊类型的对象,你可能会更容易地超越现有技术。

P:要想取得成功,你需要专注于数据,而不是算法、工程或管道。虽然这些都有你成功所需满足的最低限度,但如果你没有满足这些条件,你就不会成功。但在达到这个最小值之后,更多的工程只能让你走到这一步。关键是训练数据。

       作者: 是的,它是解决所有问题的关键。但在我的情况下,我已经有了非常好的数据、超高质量的标签和一个准备好的管道(CI/CD两年)。我正在努力让我的直觉成功。

我敢打赌你的数据集没有你想象的那么好,无论是在数据质量,标签质量,还是在数量上。你有多少个训练样本,这些样本的维数是多少?你的标签有多准确?

      作者:20万样本。我在标签中人为地添加了噪声(1%-50%)。使用CE的1%噪声的Auroc为93%。当50%的样本有噪声时,为82%。我们的基线是88%,现在50%的噪音。在每种噪声水平上都能击败CE。

什么维度?如果你是在32x32图像上训练,200k是很多。如果你是在16k图像上训练,这不是很多。

在高噪声水平下,添加标签噪声几乎总是没有意义的,所以我只想保持低噪声,如果有的话。我会专注于纠正标签。

如果我是你,我会考虑的事情(假设你还没有):输出的信心是否异常高?如果是,您可以添加一些标签平滑而不是噪声。

最重要的是:查看模型始终错误的样本,尤其是在训练集上。你会看到一个模式出现。当你在训练集上看到这一点时,这意味着你对这些类别中的数据标记错误,应该修复这些。当你在测试集上看到这一点,但在训练集上没有看到这一点时,这可能告诉你在某些类中需要更多的表示。通过观察模型所犯的个别错误,您可以深入了解哪些是错误的,哪些是可以改进的。

        不是来自领域,只是出于好奇跳入,有没有一个经验法则来确定多少数据才够用?图像大小与训练图像的数量有什么关系?

        有一个经验法则,但它不精确/噪音很大,因为它还取决于数据空间中模式结构的复杂性。但通常每个维度10个。在图像中,像素为1维。但在实践中,它可能会比这低得多,因为卷积有效地减少了这种影响。编辑:公式,很晚了

Q:主动标签清洗,在资源受限的情况下提高数据集质量

R:这可能是显而易见的,但看看你的数据预处理。你给模特的是你认为你给的吗?检查生成的训练文件中数据的内容和格式。我猜你的模型使用的是CNN。如果您将图像保存为uint8并且使用预训练网络作为起点,请检查图像是否回到float32中。

关键是,也许不是你的模型,而是你的数据准备造成了障碍

S:+1到这个。在十年前我在ML的本科毕业论文中,我花了6个月的时间来设计新的功能来进行训练,但没有任何帮助。在我的论文到期前一周,我更改了我的预处理中的一些参数(在聚合步骤之前更精细的初始分片),它导致了我一直等待的步骤更改。一线希望是,由于我花了很长时间开发的性能优化,更改的预处理才是可行的,所以它证明了这一部分的努力,但我开发的功能并不重要。

T:数据集有多大?你在探索哪些架构?

通常有一个简单的解决方案来获得良好的性能。取决于你的数据大小。

您是否扩充了您的数据?例如,如果移除relu,模型实际上可以使用负数据值。您还可以交换已训练好的层。我得到的是,有一个例子,只要将我的整个数据集乘以(-1),我的整个数据集就会翻倍,模型的准确率从92提高到97,提高了5%。

可以说,这不是银弹,但如果有更多的数据,它就会有所帮助。

如果是图像,你试过旋转它们吗?还是增加他们的颜色?噪声是一个很好的方法,如果你使用的是随机噪声,那么它的效果不如使用大的缺失块。

好奇你尝试了什么,为什么你说你的某些准确性低于标准。请记住,所有图像数据可以多次旋转90度,以使数据集增加3倍。模型不关心图像是什么角度,尤其是使用CNNs时,因为这主要是特征提取和特征识别。

目的是为了提高质量,因为放射科的质量很差吗?还是仅仅是为了做你所说的?

如果这就是你要做的事情,例如,消除噪音,你尝试过我提到的数据增强吗?例如旋转它们?因为这听起来像是一种特征提取方法。

当你说“消除”噪音的时候,就像把它归零一样?或者生成它应该是什么?还是期待?如果是后者,那就像在检测步骤之后的生成式建模。

你可以使用预训练的网络,因为我的理解是,像resnet这样的网络可以是特征提取器,然后你可以训练它来识别要去除的噪声。然后训练一个生成模型来创建缺失的部分。

U:最近我从基本ML算法切换到了NN,在kaggle比赛中仍然获得了0.50的评分,几乎排在最后。我并不难过,因为我非常自豪自己,因为我是第一次运行NN。

问:我的数据集有15个特征和大约4,000个观察/行。我觉得这可能不足以让神经网络真正捕获所有的交互并通过特征空间形成最优函数。如果我大幅增加神经网络训练期间传递的epoch的数量,这是否会提高准确率,还是没有用?换句话说,更多的epoch能让我更接近损失函数的全局最小值吗?

epoch是传递整个数据集,还是只是预定的batch size?

答:A:如果你在训练结束时看到准确度和损失的持续改善,你可以添加更多的epoch。一旦你看到了准确率和损失的变化,这可能是最好的。      

        这个答案很简单,而且一针见血地说明了你何时以及为什么要增加epochs。

        这称为双下降,您可以在这里阅读一点关于它的信息: https://openai.com/research/deep-double-dlight

B:为什么要对这么小的数据使用神经网络?你希望用NN实现什么?

神经网络非常擅长学习复杂的模式,但它们往往需要大量的数据来完成。

对于小型的表格数据集,值得尝试使用XGboost作为基线。

        支持xgboost来解决这个问题

        绝对...对于15个特征,如果你找到了一个合适的ML方法,那么它是更好的选择。此外,如果你觉得有很多潜在的交互影响,那么你也可以考虑使用特征的某种组合和/或这些特征的统计描述符作为派生/复合特征。

这就是交互效应的作用,尝试对这么小的数据集进行逻辑/线性/拉索回归。

  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
梯度下降算法是机器学习中一种广泛应用的最优化算法,其主要目的是通过迭代到目标函数的最小值,或者收敛到最小值。梯度下降算法的原理可以从一个下山的场景开始理解。算法的基本思想是沿着目标函数梯度的方向更新参数值,以期望达到目标函数的最小值。 在机器学习中,梯度下降算法常常用于求解损失函数的最小值。在简单的线性回归中,我们可以使用最小二乘法来求解损失函数的最小值。然而,在绝大多数情况下,损失函数是非线性的且复杂。因此,梯度下降算法在机器学习领域得到了广泛的应用。实际上,许多优秀的算法都是在梯度下降算法的启发下诞生的,例如AdaGrad、RMSProp、Momentum等等。 梯度下降算法的核心思想是通过计算目标函数的梯度来确定参数更新的方向。梯度表示了函数在某一点上的变化率,沿着梯度的方向可以使函数值快速减小。因此,梯度下降算法沿着梯度的反方向更新参数值,朝着目标函数的最小值靠近。算法的迭代过程会持续更新参数值,直到收敛到最小值或达到停止条件。 在实际应用中,为了提高算法的效率和准确性,通常会对梯度下降算法进行改进和优化。例如,可以使用学习率来控制参数值的更新步长,或者采用批量梯度下降来同时计算多个样本的梯度。这些改进可以帮助算法更快地收敛并到更好的解。 总之,梯度下降算法是一种重要的最优化算法,在机器学习中被广泛应用。其原理是通过计算目标函数的梯度来更新参数值,以期望达到最小值。通过迭代的方式,梯度下降算法可以到目标函数的最优解或者接近最优解。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值