인공지능, 머신러닝, 딥러닝에 대해 검색하다 보면 구글 코랩에 대해 자주 접하실 겁니다. 그래서 오늘은 구글 코랩이 뭔지, 어떻게 사용하는지 알아보겠습니다. 구글 코랩(Google Colab) 구글 코랩(Google Colab)이란? 구글 코랩은 사실 Google Colaboratory가 정확한 명칭입니다. 줄여서 코랩 혹은 구글 코랩이라고 부르고 있죠. 구글 코랩은 웹에서 텍스트를 활용한 코딩을 할 수 있게 만든 개발환경입니다. 쉽게 주피터 노트북의 구글 클라우드 버전이라고 할 수 있겠네요. 구글 코랩에서 사용하는 프로그래밍 언어는 파이썬입니다. 마크다운을 이용해 텍스트를 입력할 수도 있어요. 또한 클라우드 기반의 CPU, GPU환경을 무료로 제공하고 있습니다. 😊 구글에서 제공하는 환경의 스펙도 같이..
Mac OS (M1)에서 "Dlib 설치하는 방법"을 찾고 계신가요? 쉽고 빠르게 설치하는 방법을 소개했습니다. "Dlib 설치" 어렵지 않으니 천천히 따라오세요.😄 Dlib란? Dlib은 Machine Learning Algorithm과 Tool입니다. C++로 작성되었으며, Open-Source라서 무료로 사용할 수 있어요. 이미지 처리, 선형대수부터 Machine Learning까지 다양한 기능이 있지만, 많은 분들이 "face recognition" 라이브러리의 사용을 위해 접하실 것으로 예상됩니다. Dlib에 대해서는 다음에 자세히 설명할 예정이니 여기까지만 소개할게요. Dlib 설치하기 사전 준비 MacBook (M1)에 "Dlib를 설치하는 방법" 몇 가지 준비 사항들이 있어요. 1️⃣ Co..
물체 검출 알고리즘 오늘은 영상 관련 Toy project를 하기 위해 물체의 특징 기반 검출 알고리즘인 Haar cascade에 대해 알아보겠습니다. (얼굴 검출에 흔하게 소개되는 이론입니다.) Haar cascade algorithm Haar feature는 "Alfred Haar"에 의해 1909년에 제안되었다고 해요. 오늘날의 Convolution Kernel과 하는 일은 유사합니다. 2001년 Viola와 Jones가 "Rapid Object Detection using a Boosted Cascade of Simple Features"라는 논문에서 특징 기반의 물체 검출 Algorithm으로 "Haar cascade"를 소개했습니다. Algorithm은 크게 4가지 단계로 구성됩니다. Haar..
딥러닝 활용 딥러닝을 활용한 분야는 크게 3가지로 나뉩니다. 이번에는 자연어 중에서 어떻게 Text를 처리하는지 알아보겠습니다. 이미지 분야: 얼굴인식, 화질 개선, 물체 인식 및 태깅 등 음성 분야: AI 스피커, 노래 인식 등 ✅Text 분야: 리뷰 분석, 챗봇 등 참고로 자연어 처리 분야를 NLP(Natural Language Processing)이라고 부릅니다. 자연어 전 처리 자연어를 처리 과정은 3가지 단계가 있습니다. 자연어 전 처리 (Preprocessing) 단어 표현 (Word Embedding) 모델 적용하기 (Modeling) 하나씩 알아볼게요. 자연어란? AI 모델을 만드는데 가장 중요한 점은 "정확한 목표"와 "적절한 데이터"입니다. 오늘 다룰 내용은 자연어 처리 모델이니까 데이..
딥러닝 활용 딥러닝을 활용한 분야는 크게 3가지로 나뉩니다. 이번에는 어떻게 이미지를 처리하는지 알아보겠습니다. ✅ 이미지 분야: 얼굴인식, 화질 개선 등 음성 분야: AI 스피커, 노래 인식 등 Text 분야: 리뷰 분석, 챗봇 등 이미지 처리 이미지 인식 컴퓨터는 어떻게 이미지를 인식하는 걸까요? 컴퓨터에게 이미지는 수많은 Pixel(픽셀) 값들이 모여있는 배열입니다. 숫자인지, 사람인지, 동물인지는 당연히 모르죠. 그럼 Pixel은 뭘까요? Pixel은 Picture Element의 합성어입니다. Pixel은 위치별로 색상에 해당하는 값을 가진 정사각형 타일로 이해하시면 됩니다. 해상도를 말할 때도 Pixel이 기본이 되죠. HD, FHD를 말할 때 (1280x720) 같은 숫자들이 Pixel의 수..
딥러닝 모델이란? 딥러닝 모델에 대해서는 "퍼셉트론 한방에 끝내기(링크)"에서 소개한 적이 있죠? 다시 한번 보고 가겠습니다. 딥러닝 "딥러닝" 딥러닝은 머신러닝의 하위 개념입니다. 머신러닝의 한 방식으로 "인공 신경망(Artificial Neural Network)"라는 알고리즘이 활용되죠. "인공 신경망"은 인간의 뇌, 특히 뉴런의 연결 구조에서 영감을 받은 학습 알고리즘입니다. 수많은 뉴런들이 연결된 것처럼 Layer들이 연결되어 있죠. 이런 Neural Network의 Layer들이 많아지면서 Deep한 Neural Network라는 의미에서 Deep Learning이라는 단어를 사용했다고 해요. 구성 요소 퍼셉트론에 대해 설명하면서 Weight, Layer, Node를 이미 접했습니다. 이번 글..
손실 함수(Loss Function) Loss Fucntion이란? Loss Function은 모델의 Output이 얼마나 틀렸는지를 나타내는 척도입니다. 즉, Loss가 작을수록 좋다는 뜻이죠. 또한 모델의 Parameter를 얼마나 수정할지 정하는데도 사용합니다. Parameter를 수정한다는 건 무슨 뜻일까요? Loss Function에서 구한 오차를 Optimizer를 활용해 Back Propagation을 진행합니다. 그 결과 Parameter 들을 보다 나은 값으로 Update 할 수 있으며 이 과정을 반복합니다. 최종 목표는 오차를 최소로 만드는 Parameter를 구하는 것입니다. 즉, 성능이 좋은 모델을 만드는 거죠. (Back Propagation은 Loss Function을 미분하는 ..
Activation Function (활성 함수) Activation Function의 역할 한마디로 말하면 모델의 선형성을 없애주는 역할입니다. 이전 글 "퍼셉트론 한방에 끝내기(링크)"에서 SLP, MLP에 대해 알아봤죠? [AI 이론] 딥러닝 - 퍼셉트론 한방에 끝내기 (Perceptron) 딥러닝 왜 사람들은 딥러닝을 이야기할 때 "뇌" 이미지를 자주 사용합니다. AI가 사람처럼 생각을 하는 걸까요? 곧 가능하겠지만, 아직은 아닌 것 같습니다. 왜 "뇌" 이미지가 등장하는지 AI에 대 kay-dev.tistory.com SLP를 선형 분류기로 표현하면서 Input 간의 관계를 찾을 수 없다는 얘기를 했어요. 조금 더 생각해보죠. 각 Layer의 Input과 Weight는 Vector입니다. 연산은..
VS code 란? Visual Studio Code MS(Microsoft)가 개발한 소스코드 편집기(Code Editer)입니다. Windows, Mac OS, Linux 용으로 개발했다고 해요. 디버깅 지원, Git 제어, 구문 강조, SSH접속 등의 기능이 있습니다. Extensions(Plug-in)를 설치해 다양한 언어를 사용하거나 편리한 기능들을 쓸 수 있어요. Visual Studio는? Visual Studio는 MS에서 만든 통합개발환경(IDE, Integrated Development Environment)입니다. Windows, Mac OS에서 사용할 수 있어요. 분석, 디버깅, 테스트, 협업 등의 기능을 지원합니다. 시작은 .Net을 위한 프로그램이었다고 해요. 그만큼 .Net에 ..
딥러닝 왜 사람들은 딥러닝을 이야기할 때 "뇌" 이미지를 자주 사용합니다. AI가 사람처럼 생각을 하는 걸까요? 곧 가능하겠지만, 아직은 아닌 것 같습니다. 왜 "뇌" 이미지가 등장하는지 AI에 대해 소개하면서 알아보도록 하죠. AI 앞서 이야기한 사람처럼 생각하는 AI를 "General AI"라 합니다. 현재 기술은 이미지 분류, 얼굴 인식 등 특정 기능에서 인간보다 좋은 능력을 갖는 "Narrow AI"의 수준에 있죠. AI에 대해 관심이 없는 분들도 "머신러닝"과 "딥러닝"이라는 용어는 들어보셨을 겁니다. 간단한 설명과 함께 차이를 보도록 하죠. 머신러닝 "머신러닝" 머신러닝은 AI의 하위집합입니다. 정의는 데이터를 분석하고 학습한 후 정보를 바탕으로 결정을 내리기 위해 학습 내용을 적용한 알고리즘..
분류 개념 분류란? 분류는 주어진 입력값이 어떤 클래스(Label의 범주)에 속할지에 대한 결과 값을 도출하는 알고리즘입니다. 분류 알고리즘은 다양하게 존재하고, 예측 목표와 데이터 유형에 따라 적용할 알고리즘이 달라집니다. 분류 vs 회귀 앞서 "회귀(Regression) (링크)"에 대해 알아봤죠. 지도 학습 알고리즘 중에서 어떤 경우에 회귀를 쓰고, 언제 분류를 사용할까요? 여러 조건이 있지만, 가장 간단하게 이해할 수 있는 방법이 있습니다. Data에서 target이 되는 결과 값(Label)의 형태에 따라 구분할 수 있습니다. "범주형 target은 분류, 수치형 target은 회귀" [AI Algorithm] 지도학습 - 선형 회귀 한방에 끝내기 (Linear Regression) 회귀 (Re..
공공데이터 포털 오늘은 "의료기관"데이터 분석을 해볼게요. 최종 목표는 "서울의 종합병원 위치를 지도에 표시" 것입니다. 정확히 말하면 AI를 다루기 전 단계인 "데이터 분석"입니다. 데이터 찾기 먼저 분석할 데이터가 있어야겠죠? 데이터는 공공데이터포털(링크)에서 제공하는 공공데이터를 활용하겠습니다. 방법은 간단해요. 공공데이터 포털 접속 ➡️ 원하는 데이터 검색 ➡️ 다운로드하기 데이터는 csv 파일이나 xml, 오픈 API 등으로 제공됩니다. 오늘 활용할 데이터는 소상공인 시장 진흥공단에서 제공하는 "의료기관" 데이터입니다. csv 파일이네요. 최근 수정일은 21년 8월 26일이네요. 서울시 종합병원 위치 분석 데이터 확인 어떤 데이터인지 파악을 해야 전 처리를 할 수 있겠죠? 확인부터 해봅시다! 데..