알고리즘이란 무엇이며 사람들을 불편하게 만드는 이유는 무엇입니까?

“알고리즘”은 많이 던진 단어입니다. 그러나 YouTube 또는 Facebook 알고리즘에 대한 대화를 구축할 때 실제로 무엇에 대해 이야기하고 있습니까? 알고리즘은 무엇이며 사람들이 알고리즘에 대해 그렇게 불평하는 이유는 무엇입니까?

알고리즘은 문제 해결을 위한 지침입니다

우리는 컴퓨터가 우리 삶의 모든 순간에 스며들어 있음에도 불구하고 막연하게 이해되는 세상에 살고 있습니다. 그러나 컴퓨터 과학의 한 분야에서는 진행 상황의 기본 사항을 누구나 이해할 수 있습니다. 컴퓨터 과학의 그 영역을 프로그래밍이라고 합니다.

프로그래밍은 화려한 작업이 아니지만 Microsoft Office에서 자동 호출기에 이르기까지 모든 컴퓨터 소프트웨어의 기초입니다. 그리고 프로그래밍에 대한 지식이 90년대의 좋지 않은 영화와 엉뚱한 뉴스 보도에서 비롯되었다고 해도 프로그래머가 하는 일을 설명해줄 사람은 아마 필요 없을 것입니다. 프로그래머는 컴퓨터용 코드를 작성하고 컴퓨터는 해당 코드의 지시에 따라 작업을 수행하거나 문제를 해결합니다.

음, 컴퓨터 과학의 세계에서 알고리즘은 코드에 대한 멋진 단어일 뿐입니다. 컴퓨터에게 문제를 해결하는 방법을 알려주는 일련의 명령은 작업이 아주 쉬울지라도 알고리즘입니다. 컴퓨터를 켜면 “켜는 방법” 지침을 따릅니다. 그것이 작동하는 알고리즘입니다. NASA 컴퓨터가 원시 전파 데이터를 사용하여 우주 공간의 사진을 렌더링할 때 작동하는 알고리즘이기도 합니다.

“알고리즘”이라는 단어는 컴퓨팅 영역 외부에서도 모든 명령어 세트를 설명하는 데 사용할 수 있습니다. 예를 들어 서랍에서 은그릇을 분류하는 방법은 알고리즘이며 화장실 사용 후 손을 씻는 방법도 마찬가지입니다.

하지만 여기 문제가 있습니다. 요즘 “알고리즘”이라는 단어는 매우 구체적인 기술 대화를 위해 예약되어 있는 경향이 있습니다. 사람들이 “기본 수학” 알고리즘이나 “MS Paint 그래피티 도구” 알고리즘에 대해 이야기하는 것을 듣지 못했습니다. 대신 Instagram 사용자가 친구 제안 알고리즘에 대해 불평하거나 Facebook의 데이터 수집 알고리즘을 강타하는 개인 정보 보호 그룹을 듣습니다.

  내 마우스가 두 번 클릭되는 이유는 무엇입니까?

“알고리즘”이 계산 명령에 대한 포괄적인 용어라면 왜 우리는 디지털 세계의 혼란스럽고 마술적이며 사악한 측면을 설명하기 위해 거의 독점적으로 사용합니까?

대부분의 사람들은 “알고리즘”과 “머신 러닝”을 같은 의미로 사용합니다.

과거에 프로그래머와 대중 문화는 대부분의 계산 명령을 “코드”라고 불렀습니다. 이것은 오늘날 대부분의 경우 사실로 남아 있습니다. 머신 러닝은 우리가 “코드” 대신 “알고리즘”이라는 단어를 사용하는 경향이 있는 크고 흐린 컴퓨팅 영역입니다. 이것은 당연히 “알고리즘”이라는 단어를 둘러싼 혼란과 불안에 기여했습니다.

머신 러닝은 오랫동안 사용되어 왔지만 지난 15년 정도에서 디지털 세계의 큰 부분이 되었습니다. 기계 학습은 복잡한 생각처럼 들리지만 이해하기는 매우 쉽습니다. 프로그래머는 모든 상황에 대해 특정 코드를 작성하고 테스트할 수 없으므로 스스로 작성할 수 있는 코드를 작성합니다.

인공 지능의 보다 실용적인 형태라고 생각하십시오. 상사의 이메일을 충분히 스팸으로 분류하면 이메일 클라이언트가 상사의 모든 이메일을 자동으로 스팸 폴더에 저장하기 시작합니다. 마찬가지로 Google은 기계 학습을 사용하여 YouTube 검색 결과가 관련성을 유지하도록 하고 Amazon은 기계 학습을 사용하여 구매해야 할 제품을 제안합니다.

물론 기계 학습이 모두 훌륭하고 멋진 것은 아닙니다. “머신 러닝”이라는 이름은 일부 사람들을 불편하게 만들만큼 소름 끼치게 들리며, 머신 러닝의 대중적인 용도 중 일부는 윤리적으로 의심스럽습니다. Facebook이 웹에서 데이터 마이닝 또는 사용자에게 사용하는 알고리즘은 머신 러닝의 좋지 않은 예입니다.

언론에서는 검색 결과 순위를 매기는 “Google의 알고리즘”, 동영상 추천을 위한 “YouTube의 알고리즘”, 타임라인에 표시되는 게시물을 결정하는 “Facebook의 알고리즘”에 대해 듣게 될 것입니다. 이것들은 모두 논쟁과 논쟁의 주제입니다.

알고리즘이 논란의 여지가 있는 이유

긴 나눗셈은 숫자를 나누는 데 익숙한 알고리즘입니다. 컴퓨터가 아닌 학생들이 하고 있다는 것뿐이다. Intel CPU는 숫자를 나눌 때 완전히 다른 알고리즘을 사용하지만 결과는 동일합니다.

Speech-to-text는 일반적으로 기계 학습을 사용하지만 모든 인간이 즉시 인식할 수 있는 객관적인 정답이 있기 때문에 아무도 Speech-to-text “알고리즘”에 대해 이야기하지 않습니다. 컴퓨터가 당신이 말한 내용이나 그것이 기계 학습인지 아닌지 “어떻게” 알아내는지는 아무도 신경 쓰지 않습니다. 우리는 기계가 올바른 답을 얻었는지 여부에만 관심이 있습니다.

  Linux의 터미널에서 프로그램을 종료하는 방법

그러나 기계 학습의 다른 응용 프로그램에는 “정답”이 있다는 이점이 없습니다. 이것이 알고리즘이 미디어에서 정기적인 대화 주제가 된 이유입니다.

목록을 알파벳순으로 정렬하는 알고리즘은 정의된 작업을 수행하는 방법일 뿐입니다. 그러나 “검색을 위한 최고의 웹사이트 순위 지정”을 위한 Google의 알고리즘이나 “최고의 비디오 추천”을 위한 YouTube와 같은 알고리즘은 훨씬 모호하고 정의된 작업을 수행하지 않습니다. 사람들은 그 알고리즘이 마땅히 그래야 하는 결과를 만들어내고 있는지 여부에 대해 논쟁할 수 있으며 사람들은 그것에 대해 다른 의견을 가질 것입니다. 그러나 알파벳순 정렬 예제를 사용하면 모든 사람이 목록이 원래대로 알파벳순으로 정렬된다는 데 동의할 수 있습니다. 논란의 여지가 없습니다.

“알고리즘”이라는 단어를 어떻게 사용해야 합니까?

알고리즘은 모든 소프트웨어의 기초입니다. 알고리즘이 없었다면 전화나 컴퓨터가 없었을 것이며 아마도 종이에 이 기사를 읽고 있을 것입니다(실제로는 전혀 읽지 않았을 것입니다).

그러나 일반 대중은 “알고리즘”이라는 단어를 컴퓨터 코드에 대한 포괄적인 용어로 사용하지 않습니다. 사실, 대부분의 사람들은 컴퓨터 코드와 알고리즘 사이에 차이가 있다고 가정하지만 그렇지 않습니다. “알고리즘”이라는 단어가 기계 학습과 연관되어 있기 때문에 그 의미는 모호해졌지만 사용법은 더욱 구체적이 되었습니다.

컴퓨터 코드의 가장 사소한 부분을 설명하기 위해 “알고리즘”이라는 단어를 사용하기 시작해야 합니까? 모든 사람이 당신이 의미하는 바를 이해하지 못할 것이기 때문에 아마 그렇지 않을 것입니다. 언어는 항상 변하고 있으며, 항상 정당한 이유가 있습니다. 사람들은 혼란스럽고 불투명하며 때로는 모호한 기계 학습 세계를 설명하는 단어가 필요하며 현재로서는 “알고리즘”이 그 단어가 되고 있습니다.

즉, 알고리즘(및 기계 학습)은 핵심적으로 작업을 해결하기 위해 작성된 코드 묶음이라는 점을 기억하는 것이 좋습니다. 마술은 없습니다. 그것은 우리가 이미 익숙한 소프트웨어의 더 복잡한 반복일 뿐입니다.

출처: 슬레이트, 위키피디아, GeeksforGeeks