Writing · Apr 12, 2020

Question Of Why

The Question Of "Why" "리처드 파인만", 이분의 이름을 처음 들었던 것은...

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 설명

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

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

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