真香!陶哲轩:用ChatGPT写代码太省时间了!

点击下方卡片,关注“CVer”公众号

AI/CV重磅干货,第一时间送达

点击进入—>【目标检测和Transformer】交流群

转载自:机器之心

自从用上了 ChatGPT,陶哲轩就时不时来夸奖一番。

数学家陶哲轩可太喜欢 ChatGPT 了!

几个月前,我们报道过陶哲轩使用 ChatGPT 辅助解决数学问题。当时,他觉得虽然测试结果不太令人满意,但也并没有对 ChatGPT 持完全否定的态度。他觉得,像 ChatGPT 这类大型语言模型在数学中可以用来做一些半成品的语义搜索工作,也就是用它来生成一些提示。

7ae533ffc86ceeab71170a5f7c1ead50.png

陶哲轩还认为,「我预计如果使用得当,到 2026 年,AI 将成为数学研究和许多其他领域值得信赖的合著者。」

今日,陶哲轩又分享了一个新体验:使用 ChatGPT 写 Python 代码计算 Phi 非递减序列的数学问题,他觉得也非常有价值。

前一阵的前提还是「未来」,现在他又对 ChatGPT 搞数学发表了一通意见,可见还是不死心,还在想方设法地要用 AI 大模型提升自己的工作效率。

扫描二维码关注公众号,回复: 16395480 查看本文章

b177f891df1b518602ba0aa4f968731a.png

在这次体验中,他使用的 Prompt 是「I would like to write a program in some standard programming language (e.g., Python or C++) that, when given a natural number n, calculates the length M (n) of the longest subsequence of {1,..,n} on which the Euler totient function varphi is non-decreasing. For instance, if n = 6, we would have M (n)=5, because varphi is non-decreasing on {1,2,3,4,5} or {1,2,3,4,6} but not {1,2,3,4,5,6}. How would one program this? Ideally I'd like a program that can run reasonably quickly for medium values of n (say as large as 100), suggesting perhaps a dynamic programming method, but initially a brute force approach that only works for small n might be good enough for me.」

c07c11c0b14c7b31a2c464e7db3f24f3.png

在对话的结果中,ChatGPT 先解释了一番,给出了以下 Python 代码:

import math


def phi(n):
    """Compute the Euler totient function for n."""
    result = n
    for i in range(2, int(math.sqrt(n)) + 1):
        if n % i == 0:
            while n % i == 0:
                n //= i
            result -= result // i
    if n > 1:
        result -= result // n
    return result


def is_non_decreasing(seq):
    """Check if a sequence is non-decreasing."""
    for i in range(1, len(seq)):
        if seq[i] < seq[i-1]:
            return False
    return True


def longest_non_decreasing_phi_subsequence(n):
    """Find the length of the longest subsequence of {1,...,n} on which phi is non-decreasing."""
    phi_values = [phi(i) for i in range(1, n+1)]
    max_length = 0
    for i in range(n):
        for j in range(i, n):
            if is_non_decreasing(phi_values[i:j+1]):
                max_length = max(max_length, j-i+1)
    return max_length


n = 6
print(longest_non_decreasing_phi_subsequence(n))  # Output: 5

在陶哲轩看来,这番生成的结果有非常有趣的点,例如,它能够生成一个非常聪明的程序来计算 totient 函数。但部分地方也存在计算的偏差。

使用完后,陶哲轩认为结果已经足够好,「我能够使用 GPT 最初生成的代码作为起点手动生成我想要的代码,这可能节省了我大约半个小时的工作。」此外他还说,在未来类似的计算中,他能会再次转向 GPT 来提供初始代码。

而在与读者的互动中,我们可以发现,大家对于 ChatGPT 帮忙写代码是十分欢迎的。有些人表示我不太懂代码,不过有 ChatGPT 以后,从零开始写程序不是什么问题了。

fbecd49d51e2e6509c527cc64b266882.jpeg

第一个生成式 AI 杀手级应用,恐怖如斯?

这时有人就问了:如果说你不怎么会代码,那又是怎么搞明白 ChatGPT 生成的代码是否正确的呢?

陶哲轩表示,我不经常用 Python 编写代码,所以我也没有掌握一些基本语法(比如 for 循环),并且按引用传递和按值传递之间存在一些微妙之处,这让我很困惑。几乎每次,包括当我最终错误地初始化二维数组时,我必须通过手动检查动态更新来调试。所以,拥有几乎正确的代码,并且已经具有正确的语法对我来说有很大帮助,否则我将不得不搜索几乎每一行代码来弄清楚如何准确地表达它。

相比编写数学证明(这更多地属于我的领域专业知识),我同意你的观点,即 GPT 提供的不完全正确的论证对我来说不会特别有帮助。AI 生成的内容还不如我自己从头开始写。

db8840818c05cd3e2a9a89cedf2b6297.jpeg

用大模型搞定不熟悉的专业知识,看来这就是未来人们使用 ChatGPT 提升生产力的方式?

此外,也有人比较关心这些生成代码的来源是哪里?是否有版权问题?但似乎真的挺难溯源。

9a288b5a75a543278ff78595627beb66.png

在你的工作中,你会使用 ChatGPT 来生成代码做辅助吗?

参考链接:

https://mathstodon.xyz/@tao/110991566012143311

https://chat.openai.com/share/a022e1d6-dddc-4817-8bbd-944a3e742d9f

 
  

点击进入—>【目标检测和Transformer】交流群

ICCV / CVPR 2023论文和代码下载

 
  

后台回复:CVPR2023,即可下载CVPR 2023论文和代码开源的论文合集

后台回复:ICCV2023,即可下载ICCV 2023论文和代码开源的论文合集
目标检测和Transformer交流群成立
扫描下方二维码,或者添加微信:CVer333,即可添加CVer小助手微信,便可申请加入CVer-目标检测或者Transformer 微信交流群。另外其他垂直方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch、TensorFlow和Transformer、NeRF等。
一定要备注:研究方向+地点+学校/公司+昵称(如目标检测或者Transformer+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群

▲扫码或加微信号: CVer333,进交流群
CVer计算机视觉(知识星球)来了!想要了解最新最快最好的CV/DL/AI论文速递、优质实战项目、AI行业前沿、从入门到精通学习教程等资料,欢迎扫描下方二维码,加入CVer计算机视觉,已汇集数千人!

▲扫码进星球
▲点击上方卡片,关注CVer公众号

整理不易,请点赞和在看a7b4083ad36d397de289475196917a4d.gif

猜你喜欢

转载自blog.csdn.net/amusi1994/article/details/132644858