본문 바로가기
생각

(실험) ChatGPT는 고등학교 수학 문제를 풀 수 있을까? (ChatGPT 시리즈 1부)

by invrtd.h 2022. 12. 20.

 ChatGPT는 인간에 맞먹는 작문 능력을 갖고 있다고 알려져 있지만 그 결과가 빅데이터에서 긁어오는 건지 ChatGPT가 자체 생성한 건지가 확실하지 않았다. 이걸 테스트해 보려면 새롭게 만든 문제들을 갖고 ChatGPT에 넣어봐야 할 것 같다는 생각이 들었다. 마침 내가 옛날에 수능 자작문제 만들기 활동을 많이 했기 때문에, 그 문제들을 넣어보자는 생각을 했다. 과연 결과는 어떨까?

 

 1. 일단 대학생 수준의 선형대수학 문제를 넣어보았다.

 번역 : n x n 행렬 A가 det(A^2 - A) < 0을 만족시킨다. A가 0과 1 사이의 고유치를 가짐을 보이시오.

 

 결과 : 개같이 멸망.

 4번 -> 5번으로 넘어가는 부분에서 lambda^2 - lambda를 lambda로 멋대로 치환해버리면서 그 이후 풀이가 모두 꼬여버렸다.

 

 "않이 대학생 수준 문제를 넣으니까 당연히 멸망하지!"라고 말할 수 있는데, 내가 여러 번 테스트해 본 결과 인간에게 어려운 것이 항상 인공지능에게 어려운 것은 아닌 듯하다. 컴파일러에 대한 정보도 정확하게 척척 출력하는 ChatGPT가 막상 중학생 수준 국어 문제를 못 푸는 경우를 많이 봤었다. 인공지능은 인간보다 훨씬 우월한 '배경지식 쌓기' 능력을 갖고 있는 것 같다.

 

 저 문제는 개인적으로는 배경지식만 잘 잡혀 있다면 수능 문제보다 쉽다고 생각한다.

 풀이 : A의 특성다항식을 f라 하자. det(A^2 - A) = f(0)f(1) < 0이므로 중간값 정리에 의해 f는 0과 1 사이의 실근을 갖는다.

 

 2. 수1 수준의 수열 문제를 넣어 보자.

 번역 :

 a_1 = 1, a_n이 짝수라면 a_(n+1) = a_n / 2, a_n이 홀수라면 a_(n+1) = max(a_1, a_2, ..., a_n) + 1.

 다음 값을 구하시오. a_1 + a_2 + ... + a_63

 

 결과 : 개같이 멸망.

 사실 이 문제가 2020년 수능 나형 21번을 닮은 어려운 문제인 건 맞는데, 유의미하게 보아야 할 것은 1번 사진에서 ChatGPT가 a_3부터 뇌절을 시작하며 기계적 절차도 제대로 수행하지 못하고, 심지어는 2번 사진을 보면 자신이 뭐라고 썼는지도 기억하지 못한다는 것이다. 1번 사진에서 ChatGPT가 출력한 수열과 2번 사진의 수열이 일치하지 않는다(...). 게다가 1 + 2 + 1 + 2 + ... + 1 + 2 = 63도 아니고, 마지막 항이 2도 아니다.

 

 3. 더 쉬운 수열 문제를 넣어 보았다.

 번역은 생략. 영어 몰라도 읽을 수 있을 것 같다.

 결과 : 개같이 멸망.

 프로그램은 의미 없는 계산 돌리기를 반복했고, 마지막에 아무 설명도 없이 -0.104956을 출력했다. 정답은 41.

 

 참고로 필자는 이 문제의 난이도를 4점 초반대 문제라고 생각한다.

 

 4. 기하 문제를 넣어 보면 어떨까?

 

 번역 : 직선 l이 두 포물선 y^2 = 4px와 x^2 = 8py에 동시에 접한다. l과 x축, y축으로 둘러싸인 삼각형의 넓이를 p에 대하여 나타내시오.

 "m = dy/dx = 0/0"

 "m = dy/dx = 0/0"

 "m = dy/dx = 0/0"

 "m = dy/dx = 0/0"

 "m = dy/dx = 0/0"

 

 보면 알겠지만 첫 단추부터 잘못 꿰맸다. 그래서 그냥 앞부분만 잘라서 올리려다 그냥 답변을 모두 첨부하기로 했다. 인공지능이 어떻게 자신이 모르는 것도 자신이 아는 것처럼 말하는지를 잘 보여준다고 생각하기 때문.

 

 어디가 잘못됐는지를 구체적으로 설명하자면... (1) l은 (0, 0)을 지나지 않음. (2) 대체 dy/dx = 2y/4x는 어디서 튀어나온 것일까? (3) 미정의된 기울기로부터 갑자기 기울기 0짜리 직선이 튀어나오는 기적. (4) 열심히 접선 구해 놨는데 x = 0 또는 y = 0이 나와서 삼각형이 존재하지 않으니 인공지능이 억지로 p를 끼워넣을 자리를 만들었다. 사실 앞서 인공지능의 답변도 그렇지만, 인공지능은 답을 모르더라도 억지로 답을 만들 자리를 끼워넣는 것으로 보인다.

 

 필자가 생각하는 이 문제의 난이도는 4점 중반인데, 문제는 수능이 latte(20수능)랑 많이 달라져서 4점에 중반이랄 게 없음(...) 대충 알아듣자.

 

 5. 좋아... 기하 3점짜리 문제는 잘 풀까?

 

 번역 : 좌표평면에서, 기울기가 2 * sqrt(3)인 직선 l이 쌍곡선 (x/a)^2 - (y/b)^2 = 1과 만나는 유일한 점이 (sqrt(3), 1)이다. b^2의 값을 구하시오.

 아~~~ 망했어요~~~

 

 식 변환을 어떻게 했는가에 주목하기보다는, 인공지능이 "the only point"가 무슨 뜻인지 인식하지 못한다는 점에 주목해야 한다. 인간은 이 표현을 보고 직선이 "쌍곡선에 접하거나, 점근선에 평행하다"는 사실을 떠올릴 수 있다. 인공지능은 그러지 못했다.

 

 6. 결론

 출처는 잘 기억이 안 나지만, 인공지능이 발전할수록 역으로 '인간이란 무엇인가'에 대한 철학적 논의가 활발해질 것이라는 이야기를 들은 적이 있다. 전적으로 동감한다. 만약 이 인공지능이 인간과 동일한 수준의 글을 생성하는 것처럼 보인다면, 도대체 무엇이 그렇게 만들었는가? (물론 나는 답을 알지 못한다.)

 

 이 부분은 2부 (ChatGPT는 자작시를 이해할 수 있을까?)까지 살펴본 뒤에 나름대로 답을 내려보도록 하자.

 

 # 개인적으로는 이 글을 읽을 때, 'ChatGPT가 수능 3점짜리 문제도 못 풀었음' 같은 결과론적인 것에 초점을 맞추지 말도록 했으면 한다. (사실 난 바라지도 않았다.) 그보다는 이 인공지능이 자신의 능력 안에 있는 문제에 대해서는 극도로 똑똑해지지만 자신의 능력 밖에 있는 문제에 대해서는 멍청해진다는 사실을 보여주고 싶었다. 그리고 ChatGPT는 수능 3점짜리 문제를 못 풀지라도 충분히 강력하다.

댓글