Skip to content

The Question Of "Why"

"리처드 파인만", 이분의 이름을 처음 들었던 것은 미국 시트콤 빅뱅이론이었다. 그러다 유튜브의 알 수 없는 알고리즘으로 2주 전 이 영상을 접했다. 영상을 보고 느낀점을 오늘 글에서 기록해두기로 했다.

원본 source: https://youtu.be/Q1lL-hXO27Q

느낀점

어떤 현상이 왜 일어나는지에 대해, 대답하는 사람은 어떻게 답변해야 할까? 파인만의 답변으로 정리해보면 다음과 같다.

  • 설명은 서로가 "참(True)"이라고 납득하는 일련의 범주 안에서 이루어져야 한다.
  • 처음부터 모든 것을 설명하는게 아니라, 상대방이 인지하고 있는 지식의 범주를 고려하여 단계적으로 대답한다.
  • 이해하기 쉬운 예시를 많이 든다. 그리고 반대 현상을 제시하면서, 더 깊은 주제로 넘어간다.
  • 자신이 이해하고 있는 것과 이해하지 못하는 것을 인지하고 있어야 설명이 가능하다.

이 영상을 보고, 일반 사람들에게 "(딥러닝으로 만든)모델이 왜 이런 결과를 예측 했는가?"를 어떻게 설명할까?

  • "모델이 학습을 통해 지식을 배운다"라는 관점으로 답변을 해보자.
  • 모델(model)을 이해하고 있는지 알아야한다. 모델은 여기서 기계(machine), 컴퓨터 모델이라고 이야기 할 수 있다. 모델은 어떤 프로그래밍으로 짜여진 알고리즘이라고 생각 할 수 있다.
    • 추가 질문: 어떤 알고리즘인가? > Rule-based, Machine-learning 설명
  • 모델이 예측한 결과란, 모델에게 입력된 데이터(input)를 바탕으로 계산된 출력(output)값이다.
  • 입력 데이터와 모델 내부에 존재하는 파라미터(parameter)의 연산을 통해 출력값을 도출한다. 이러한 과정을 추론(inference)이라고 한다.
  • 모델이 예측하기 전 단계에 "학습"이란 단계를 미리 거친다. 축적된 많은 양의 데이터를 입력으로 추론을 하고 예측값과 정답값을 비교해서 채점을 한다.
    • 추가 질문: 데이터에 정답값이 없으면 어떻게 하나? > 학습의 종류(learning type)에 대한 설명
  • 채점된 점수가 높게 나오게 반복해서 학습한다. 이 과정에서 모델 내부의 파라미터(parameter)의 조정을 통해서 "지식"을 습득한다. 이러한 조정 과정을 "학습한다" 라고 비유한다.
    • 추가 질문: 어떻게 파라미터를 조정하는가? > Optimizer 설명

약간 추상적이지만 구체적 예를 들어 "고양이를 판별하는 모델이 왜 고양이를 예측할 수 있는가?"에 답변을 적용해볼 수 있다.

하지만 과연 위 대답이 정확한 답변일까? 길게 모델의 작동원리를 "학습"이라는 단어를 가져와서 설명했지만, 알고리즘 연산 결과 값이 왜 해당 결과를 뜻하는지? 모델은 데이터의 어떤 부분을 보고 해당 결과를 판단했는지? 등등의 질문을 설명하지 못한다. 사실 이 영역은 아직 많은 연구자들이 연구중이다.

리처드 파인만의 이 영상은 꽤나 철학적인 이야기지만 어떤 개념을 알고싶을 때 중요한 사고방식이다. 계속 "왜"라는 질문을 하고 이를 다른 사람에게 잘 설명할 수 있는 방식으로 공부하는 습관을 길러야겠다.