我想知道,与其用数百万行很难管理的代码一遍又一遍地实现新的网络浏览器,是否可以使用 ANN 或 GA 算法来教它渲染过程(页面应该如何喜欢)?
因此,作为输入,我将对 html 源代码进行成像,输出是呈现的页面(可能是一些交互式图像,如 SVG、一些库或其他东西,我不确定)。
训练数据可以是网站的数据集,提供输入源代码及其通过使用其他浏览器作为预期输出的指导而呈现的表示。
你会采取哪种方法,你能想到的最具挑战性的事情是什么?
我想知道,与其用数百万行很难管理的代码一遍又一遍地实现新的网络浏览器,是否可以使用 ANN 或 GA 算法来教它渲染过程(页面应该如何喜欢)?
因此,作为输入,我将对 html 源代码进行成像,输出是呈现的页面(可能是一些交互式图像,如 SVG、一些库或其他东西,我不确定)。
训练数据可以是网站的数据集,提供输入源代码及其通过使用其他浏览器作为预期输出的指导而呈现的表示。
你会采取哪种方法,你能想到的最具挑战性的事情是什么?
浏览器的渲染过程定义得非常好,并且有一个非常严格的明确规则集,其中(实际上)每个责任都被记录和处理。这对于机器学习来说不是最优的,当我们有大量示例并且我们不知道规则集时,它会起作用;它会弄清楚的。即使您要训练神经网络来处理该输入,也必须考虑以下几点:
1. 数据差异。
并非所有网页的长度或复杂性都相同,并且使神经网络从 HTML 生成输出在大多数情况下会产生垃圾。
2. 训练时间。
神经网络理解 HTML 标签、属性、DOM 树和每一个元素(包括每隔几年添加的新元素)以及每个元素如何呈现和行为所花费的时间将需要非常长的时间,最有可能在一台快速计算机上使用几年,如果可能的话
3. 交互性。
网页不仅是静态的,它们还会根据 HTML、CSS 和 JavaScript 而变化。你不仅要设计你的系统来考虑渲染步骤,你还要让它理解图灵完备的脚本语言JavaScript,以及不太复杂但与 HTML、CSS 样式表语言固有地交织在一起的语言。如果您认为渲染过程很简单,请尝试训练神经网络来处理复杂的脚本模式。
4. 新标准
由于标准不同,并非所有 HTML 都是平等的。WHATWG于 2004 年开始研究 HTML5,不久之后浏览器开始实施。在 2004 年,很少有 HTML5 网站示例可以用来训练您的网络。当然,现在它已经标准化,每个网站都使用它,但是 HTML6 呢?当第一个规范发布时(可能是 2017-2025 年),几乎没有网站会使用它,因为没有人会支持它。只有当它最终成为标准时,可能在 2020 年代末或 2030 年代初,你才会有足够的数据来训练你庞大的神经网络系统
至于一般的人工智能,人们可能会争辩说浏览器已经在其渲染过程中使用了人工智能。他们智能地决定渲染什么(考虑到 CSS),当为了获得最有效的渲染时间,他们选择性地在代码的不同部分使用不同的 JavaScript 解析器来优化速度,整个系统已经在另一个规则集上进行了优化使网页的呈现和交互尽可能无缝且易于使用。您的系统永远不会像数百人在 20 年中优化的那样好。
尝试使用神经网络解决 HTML 渲染类似于尝试用螺丝刀钉钉子。它只是行不通
希望这有帮助!