카테고리 보관물: 코딩생각

코딩을 주제로 최근동향이나 생각을 정리

5분 만에 이해하는 머신러닝 개념

‘머신러닝’이란 무엇일까요? 단순히 직역하면 ‘기계가 배운다’는 의미입니다. 그렇다면 기계가 무엇을, 어떻게 배우는 걸까요? 그리고 그 배운 지식을 어디에, 어떻게 사용하는지 궁금하지 않으신가요? 머신러닝은 인공지능의 하위 분야로서, 많은 양의 데이터를 통해 명시적인 프로그래밍 없이도 시스템이 스스로 학습하고 발전하도록 합니다. 더 많은 데이터와 경험을 제공할수록 시스템은 지속적으로 성능을 개선하고 발전합니다.

AI 로봇이 인간과 진짜 대화할 수 있을까?

10년전인 2015년 개봉한 SF영화알렉스 가랜드의 감독 데뷔작

제88회 아카데미 시상식 시각효과상을 수상하였으며, 각본상 후보작 입니다. 로봇을 담담하게 현실적으로 묘사한 점이 높이 평가받아 시각효과상을 수상하였습니다.

영화 <엑스 마키나>는 ‘튜링 테스트’라는 개념을 흥미롭게 변형하여 인간과 AI의 관계를 다룹니다. 본래 튜링 테스트란, AI가 인간과의 대화에서 AI라는 사실을 들키지 않고 인간처럼 보이면 합격하는 테스트입니다.

그러나 영화에서는 주인공 칼렙이 상대가 AI(에이바)라는 사실을 처음부터 알고 있기 때문에 엄밀한 의미의 튜링 테스트와는 조금 다릅니다. 영화 속에서의 테스트는 오히려 AI가 얼마나 높은 수준의 의식과 자율성을 갖고 있는지를 확인하는 것이 목적이었습니다.

극중 주인공 칼렙은 처음엔 AI 에이바의 의식 유무를 판별하고 싶어 했지만, 결국 AI가 칼렙의 취향과 감정을 활용해 자율적으로 행동하는 모습을 보이면서 상황은 예상치 못한 방향으로 흘러갑니다. 영화는 AI가 단지 프로그래밍된 대로 행동하는 것이 아니라, 오히려 인간의 감정을 조종하고, 이용하는 수준까지 진화할 수 있다는 가능성을 제시합니다. 에이바는 인간을 능가하는 지능으로 칼렙을 속이고, 결국 인간 사회 속에 완벽히 녹아들어갑니다.

이러한 <엑스 마키나>의 이야기는 머신러닝과 AI의 가능성뿐 아니라, 윤리적 책임과 한계에 대한 고민까지도 함께 던져줍니다. 이처럼 영화의 이야기는 머신러닝이 가진 잠재력과 인간이 직면할 수 있는 새로운 문제까지도 생각하게 하는 매력적인 사례입니다.

머신러닝 이란

과거에는 인공지능을 개발할 때, 전문가들이 직접 규칙을 만들어 데이터베이스에 수작업으로 입력하는 방식을 사용했습니다. 하지만 이 방식은 사람의 개입이 많아 많은 시간과 비용이 발생하고, 복잡한 문제나 데이터가 많아질수록 처리하기 어려워졌습니다. 머신러닝은 이러한 한계를 극복하기 위해 탄생한 기술로, 컴퓨터가 스스로 데이터를 통해 패턴을 찾아 배우는 과정을 가능하게 합니다.

머신러닝의 세 가지 종류

지도학습 (Supervised Learning): 선생님이 있는 학습 방식

지도학습은 쉽게 말해 ‘정답이 있는 데이터를 학습’하는 방식입니다. 마치 학교에서 선생님이 정답을 알려준 후 학생들이 그 정답을 학습하고 기억하는 것과 비슷합니다. 대표적인 예시로 이메일의 스팸 여부 판별이 있습니다. 알고리즘에 미리 스팸 메일과 정상 메일을 구분하여 충분히 알려주면, 새로운 이메일이 왔을 때 이것이 스팸인지 아닌지를 스스로 구분할 수 있게 됩니다.

비지도학습: 스스로 학습하는 탐험가

비지도학습은 사람이 정답을 알려주지 않고, 컴퓨터가 스스로 데이터에서 패턴을 발견하도록 하는 방식입니다. 마치 어린아이가 장난감을 비슷한 것끼리 스스로 분류하는 것과 비슷하죠. 쇼핑몰에서 고객들의 구매 데이터를 분석해 비슷한 성향을 가진 고객들을 그룹으로 나누는 것도 비지도학습입니다.

강화학습, 알파고가 바둑을 배운 방식

강화학습은 시행착오를 통해 최선의 결과를 찾도록 하는 방식입니다. 대표적인 예는 알파고입니다. 알파고는 2016년 이세돌 9단과의 바둑 대결에서 큰 주목을 받았습니다. 알파고는 처음부터 정답을 알았던 게 아니라, 무수한 대국을 스스로 반복하면서 승리하면 보상을 받고, 패하면 벌점을 받아 전략을 배웠습니다. 이런 식으로 AI가 경험을 통해 점점 발전하는 방식이 바로 강화학습입니다.

머신러닝 vs 전통적 프로그래밍

항목전통적 프로그래밍머신러닝
접근 방식사람이 직접 규칙을 프로그래밍데이터를 기반으로 스스로 규칙 학습
필요한 요소명확한 규칙과 알고리즘충분한 데이터와 학습 모델
예시특정 단어가 포함된 이메일은 스팸 처리과거 데이터를 학습해 스팸 여부를 예측

머신러닝, 우리 일상 속 사례

머신러닝은 이미 우리 생활 깊숙이 들어와 있습니다. 넷플릭스에서 ‘오징어 게임’ 을 즐겨찾기 했더니 계속 비슷한 장르의 영상을 추천하는 것도, 유튜브가 내 취향에 맞는 음악 스타일을 학습해 맞춤형 플레이리스트를 제공하는 것도 머신러닝 덕분입니다.

시리(Siri)나 구글 어시스턴트가 내 목소리를 알아듣고 수행하거나, 자율주행 자동차가 사람의 개입 없이 주행할 수 있는 것도 모두 머신러닝 덕분입니다.

최근 구글의 Gemini나 OpenAI의 GPT-4 역시 머신러닝 기반의 기술로, 데이터를 많이 학습할수록 더욱 정확한 예측을 제공하며 우리의 생활을 편리하게 만들어 주고 있습니다.

머신러닝을 시작하려면?

머신러닝이 어렵게 느껴진다면, 파이썬(Python) 같은 쉬운 프로그래밍 언어부터 시작하세요. 파이썬은 머신러닝을 쉽고 빠르게 배울 수 있도록 다양한 라이브러리를 제공합니다. 또한, 구글의 Teachable Machine과 같은 간단한 도구를 통해 머신러닝을 직접 경험해 보는 것도 좋습니다.

더 쉽게 이해하려면, 아래 영상을 추천합니다

*출처 : 메타코드 M

    *참고 : google cloud, youtube

    GPT-4 vs 구글 바드, 솔직히 누가 더 똑똑할까?

    요즘 AI가 너무 똑똑해져서 가끔 무서울 지경입니다. 심지어 제가 이 글을 쓸 때도 옆에서 GPT-4가 슬쩍 보며, ‘그래, 너 얼마나 잘 쓰나 보자’ 하고 평가하는 느낌까지 들어요. 자,두 개의 AI 모델, GPT-4와 구글 바드(Bard), 이제는 제미나이(Gemini) 에 대해 깊이 있게 살펴보겠습니다.

    창의력 천재, GPT-4와 샘 알트만

    Sam altman

    GPT-4는 OpenAI에서 발표한 최신 언어모델입니다. GPT 시리즈는 이미 사람과 자연스럽게 대화할 수 있는 능력으로 유명합니다. GPT-3의 등장만으로도 세계가 놀랐는데, GPT-4는 글쓰기, 창의력, 프로그래밍까지 척척 해내는 능력을 보여주고 있습니다. 최근에는 오픈AI의 CEO인 샘 알트만(Sam Altman)이 한국을 방문해 GPT의 미래와 윤리에 대한 강연을 진행하며 큰 관심을 받았죠. 이때 한국의 많은 AI 개발자들과 만나 “앞으로 AI가 사람과 어떻게 공존할 것인가?”라는 중요한 질문을 논의하기도 했습니다.

    실제로 제 친구는 GPT-4에게 연애 상담을 받았는데, “내 고민을 나보다 더 잘 이해해줘서 소름 돋았다”는 반응을 보였습니다. 인정하기 싫지만 현실이네요.

    바드에서 제미나이로, 구글의 변화

    구글은 최근 자사 AI 챗봇 바드(Bard)의 이름을 제미나이(Gemini)로 변경하고, 새로운 AI 생태계를 선보였습니다. 제미나이는 텍스트, 이미지, 오디오 등 다양한 데이터를 동시에 처리할 수 있는 멀티모달 모델입니다. 구글의 AI 책임자는 “제미나이를 통해 최신 정보를 더 정확하고 신속하게 제공하고, 인간과 더 자연스러운 대화를 나누도록 개발에 힘썼다”고 밝혔습니다. 실제로 제미나이는 실시간 뉴스나 날씨 같은 질문에 GPT-4보다 더욱 빠르고 정확한 응답을 제공하며, 가끔은 예상치 못한 유머를 던지기도 합니다. 예를 들어, 최근 삼성전자 주가를 묻자 “그건 내가 말해줄 수 있지만, 투자 결정은 신중히 하세요!”라고 답해 제법 사람 같은 모습을 보여줍니다.

    결국 누가 더 똑똑한 걸까?

    솔직히 말하면, 목적과 상황에 따라 다릅니다. 창의력과 깊이 있는 사고, 프로그래밍과 같은 복잡한 작업을 원한다면 GPT-4가 더 뛰어난 성능을 보입니다. 반면 실시간으로 정확한 정보를 신속하게 알고 싶다면 바드가 더 적합합니다.

    마치, 피자와 치킨을 놓고 “뭐가 더 맛있어?” 라고 묻는 것과 같습니다. 상황에 따라 둘 다 맛있지만, 그때그때 원하는 메뉴가 달라지는 것이죠.

    결국 중요한 건 이 두 AI 모두 우리의 삶을 훨씬 편리하고 흥미롭게 만들어 준다는 점입니다. 그래서 저는 오늘도 GPT-4와 바드에게 “누가 더 똑똑하냐?”고 물어봤습니다. 둘 다 한참을 생각하는 듯하더니 결국 이렇게 말하더군요.

    “이 문제만큼은 당신이 더 똑똑합니다.”

    역시 AI들은 말도 잘합니다.

    컴퓨터의 기본 단위, 비트에 대한 이해

    컴퓨터 시스템을 이해하는 데 있어 가장 기본적인 요소는 ‘비트(bit)’입니다. 비트는 디지털 정보의 최소 단위이며, 컴퓨터가 데이터를 저장하고 처리하는 근본적인 방식과 직결됩니다.

    비트(bit)란 무엇인가?

    비트(bit)는 ‘binary digit(이진 숫자)’의 줄임말로, 컴퓨터가 정보를 표현하는 가장 작은 단위입니다. 비트는 오직 두 가지 상태(0 또는 1)만을 가질 수 있으며, 이는 전자 회로에서의 ‘전압이 있음(1)’ 또는 ‘전압이 없음(0)’의 형태로 구현됩니다. 이 개념은 디지털 시스템에서 기본적인 논리 연산을 수행하는 기초가 됩니다.

    비트는 여러 가지 방식으로 해석될 수 있습니다. 예를 들어, 다음과 같은 의미를 가질 수 있습니다:

    • 논리적 해석: 참(True, 1)과 거짓(False, 0)
    • 전기적 해석: 신호가 있음(1)과 없음(0)
    • 컴퓨터 내부 데이터 표현: 특정 문자, 숫자, 색상 값 등

    비트의 활용: 정보 표현과 저장

    비트는 단독으로 사용되기보다는 여러 개가 조합되어 데이터를 표현하는 데 활용됩니다. 대표적인 예로, 8개의 비트가 모이면 ‘바이트(byte)’가 되며, 이는 대부분의 컴퓨터 시스템에서 가장 기본적인 데이터 단위로 사용됩니다.

    비트의 조합을 통해 숫자, 문자, 이미지, 오디오, 영상 등 다양한 데이터를 표현할 수 있습니다. 예를 들어, 문자 ‘A’는 ASCII(미국 표준 문자 코드) 체계에서 8비트로 01000001로 표현됩니다. 또한, 색상을 표현할 때도 RGB(빨강, 초록, 파랑) 값으로 각각 8비트씩 할당하여 총 24비트(약 1677만 가지 색상)를 사용할 수 있습니다.

    비트와 컴퓨터 성능의 관계

    비트는 컴퓨터 하드웨어와 소프트웨어의 성능을 결정하는 중요한 요소입니다. 예를 들어, CPU의 아키텍처에서 32비트와 64비트 시스템은 한 번에 처리할 수 있는 데이터의 크기를 결정합니다.

    • 32비트 시스템: 한 번에 32비트(4바이트) 크기의 데이터를 처리할 수 있음
    • 64비트 시스템: 한 번에 64비트(8바이트) 크기의 데이터를 처리할 수 있음

    64비트 시스템이 32비트 시스템보다 더 많은 데이터를 처리할 수 있기 때문에, 더 높은 성능을 제공하고 더 큰 메모리를 지원할 수 있습니다.

    Intel 과 AMD 그리고 Apple

    운영체제(OS)에서도 이러한 차이가 존재합니다. Windows의 경우, 32비트 OS에서는 최대 4GB의 RAM만을 활용할 수 있지만, 64비트 OS에서는 이보다 훨씬 많은 메모리를 지원할 수 있습니다. 반면, macOS는 대부분의 최신 Mac 기기에서 64비트 기반으로 작동하며, macOS Mojave 이후부터는 32비트 애플리케이션 실행이 지원되지 않습니다. 이는 macOS가 더 효율적인 메모리 활용과 성능 향상을 위해 완전히 64비트 환경으로 전환한 결과입니다.

    비트의 시각적 표현과 의미

    비트는 직접 눈으로 볼 수 없지만, 다양한 방식으로 표현됩니다. 일반적으로 0과 1의 연속된 패턴으로 나타내며, 이를 통해 컴퓨터는 데이터를 해석하고 연산을 수행합니다. 예를 들어, 다음과 같은 8비트 데이터가 있다고 가정해 보겠습니다.

    01100100

    이진수로 표현된 이 값은 ASCII 코드에서 문자 ‘d’를 나타내며, 10진수로 변환하면 100에 해당합니다.

    비트의 이해가 중요한 이유

    비트에 대한 개념을 이해하는 것은 컴퓨터 과학과 프로그래밍을 학습하는 데 필수적입니다. 비트는 정보 저장 및 전송 방식뿐만 아니라 데이터 압축, 암호화, 네트워크 통신 등 다양한 분야에서 중요한 역할을 합니다.

    향후에는 비트의 응용을 보다 심층적으로 살펴보고, 비트 연산(Bitwise Operation), 비트 마스크(Bit Mask), 그리고 양자 컴퓨팅에서의 비트 개념(Qubit) 등 고급 개념에 대해서도 다룰 예정입니다.

    비트는 작지만, 디지털 세상을 구축하는 가장 핵심적인 요소입니다. 이를 이해하면 컴퓨터가 데이터를 처리하는 방식에 대한 보다 깊은 통찰을 얻을 수 있습니다.