使用 AI 进化算法和多模态回归进行市场调研

社区文章 发布于 2024 年 7 月 17 日

本文将提出一个理论框架,用于利用进化式生成式 AI 进行市场调研,通过数字广告管理器投放广告并进行测试,然后利用这些数据训练一个多模态回归模型来预测生成广告的表现。这个过程可以迭代进行,以创建一个反馈循环。

image/png

广告:内容 + 受众

在本文中,我们将把“广告”定义为“内容”和“受众”。“内容”包括图片和一些文本。image/png

“受众”是指将看到广告的人群,这里指年龄、性别和位置。虽然我们可以使用许多其他变量(兴趣、投放位置、平台等),但为了简化,我们只使用这三个。image/png

“广告”是我们的框架中的最小单元。在进化算法中,它可能被称为“DNA”或“基因组”。它描述了广告的外观以及将要投放给谁。

image/png

AI 广告生成

首先,我们需要生成初始广告批次。我们将从一些需要手动生成的种子开始。然后,我们将这些种子广告输入到我们的进化式 AI 生成器中,以生成大量组合和变体。image/png

进化式 AI 生成器将使用手动创建的种子广告作为其“DNA”,它将随机选择两个种子,让它们“繁殖”,并生成一个新的广告,该广告具有其两个父母的一些特征。它还将引入一些随机性,或基因突变。

公式为

Generation(ad1,ad2)=ad1ad2+randomness \text{Generation}(\text{ad}_1, \text{ad}_2) = \text{ad}_1 * \text{ad}_2 + \text{randomness}

以下是生成可能的样子。image/png

我们可以看到子代图片、文本、年龄和性别是其两个亲本的混合体。位置是一个随机突变的例子,它与其两个亲本完全不同。图片生成是使用我的图片混合器 🤗 Space创建的,文本混合是使用 ChatGPT 完成的。

广告测试:广告评分

对于我们的初始批次,我们将从少量开始,例如 100 个广告。然后,我们需要使用数字广告管理器(如 Meta、SnapChat 或 Pinterest)在市场上测试它们。大多数广告管理器允许您分配低至 1 美元的广告预算,但考虑到我们有 100 个广告,分配至少 20 美元会更合理。

在我们的广告测试中,我们将主要考虑点击率。即,每 100 个看到广告的人中,有多少人会点击它。所以,系统的输入是广告(内容 + 受众),输出是点击率。image/png

多模态回归

一旦我们完成了广告测试,我们将得到一个很好的数据集,其中包含 100 个广告及其各自的得分或点击率。我们可以使用这个数据集来创建一个机器学习模型,特别是一个多模态回归模型。该模型将有 6 个输入:内容图片、内容文本、受众年龄、受众性别和受众位置。以及 1 个输出:点击率。

image/png

现在我们已经训练了我们的多模态回归模型,我们将有一种方法来预测任何任意广告的点击率。

生成-回归反馈

我们将使用刚刚测试的生成广告作为种子,将其输入进化式 AI 生成器,以创建大量广告批次。然后,我们将把这些大量广告批次(例如 10,000 个广告)通过我们的多模态回归模型,预测每个广告的点击率。根据这些预测,我们只选取前 100 个(1%)广告用于下一批广告测试。一旦我们测试了新的广告批次,我们将获取广告数据和点击率来微调我们的多模态回归模型。image/png

如您所见,我们已经创建了一个反馈循环。我们刚刚测试过的广告将作为下一轮批量广告生成的种子。广告批次将输入到更新后的多模态回归模型中,以找到预测得分最高的广告,这些广告将在市场上进行测试。如此循环往复。

伪代码

尽管这个框架是理论性的,但它非常有可能实现

# Feed the manually-created seed ads into the generator to create an initial batch of 100 ads
initial_ad_batch = evolutionary_generator(seeds=seed_ads, num=100)

# Test the ads in the market 
ad_testing_data = deliver_ads(initial_ad_batch)

# Train a model that takes an ad as input and predicts the click rate
multimodal_regression_model = train_model(ad_testing_data)

# Feedback loop
for(num_iterations):
  # Feed the ad batch of 100 to the generator to create 10,000 ads
  large_ad_batch = evolutionary_generator(seeds=initial_ad_batch, num=10000)

  # Use the model to filter out the top 100 ads
  top_scoring_ads = multimodal_regression_model(large_ad_batch)

  # Test the ads in the market
  ad_testing_data = deliver_ads(top_scoring_ads)

  # Fine-tune the model with the new ad testing data
  multimodal_regression_model = train_model(ad_testing_data)

  # This current batch of top 100 ads will be the seed ads in the next iteration
  initial_ad_batch = top_scoring_ads

关于我

大家好,我叫托尼·阿西。我是一名驻洛杉矶的设计师。我拥有软件、时尚和市场营销背景。我目前在一家电子商务时尚品牌工作。请查看我的🤗 个人资料,了解更多应用、模型和数据集。

如有任何问题、意见、业务咨询或工作机会,请随时发送电子邮件至 tony.assi.media@gmail.com

社区

注册登录 发表评论