[AI 공부하기 04] 활성화 함수 구현하기
지난 글에서 선형 레이어를 구현했습니다. 이번 글에서는 신경망에서 자주 쓰는 활성화 함수를 알아보고 구현해 보겠습니다. 👍 🔎 활성화 함수 ReLU(Rectified Linear Unit)라고도 불리는 활성화 함수는 입력이 0보다 크면 그대로 통과시키고, 0 이하이면 0으로 바꿉니다. $$ReLU(x)=max(0,x)$$ 신경망에 비선형성을 넣어 복잡한 관계를 학습하는 역할을 합니다. 계산이 간단하고 학습이 잘 되는 편이라 널리 쓰입니다. 활성화 함수 없이 선형층만 여러 개 쌓으면, 층이 아무리 많아도 결국 하나의 선형 변환과 같아요. 반면 ReLU를 중간중간 넣으면 입력과 출력의 관계를 더 복잡하게 표현할 수 있습니다....
[AI 공부하기-03] 선형 레이어 구현하기
지난 글에서 AI는 행렬의 연산이 주로 이루어지기 때문에 먼저 Matrix 객체를 만들었습니다. 이 글에서는 이를 활용하여 선형 레이어를 만들고 테스트해 보겠습니다. 👍 📈 선형 레이어 💡 레이어(Layer) 신경망에서 입력받아 어떤 연산을 하고, 그 결과를 다음 단계로 넘기는 구성 요소가 되고 이러한 레이어들이 여러 개로 구성되어 하나의 모델이 된다. (ex: MLP, LeNet-5, ResNet-50, GPT…) 선형 레이어는 입력된 숫자들을 가중치와 편향으로 계산해 새로운 숫자들로 바꾸는 레이어 입니다. $$\underset{\substack{\uparrow\\\text{출력}}}{y}=\underset{\substack{\uparrow\\\text{입력}}}{X}\underset{\substack{\uparrow\\\text{가중치}}}{W}^T+\underset{\substack{\uparrow\\\text{편향}}}{b}$$ ⚠️ 가중치는 입력과 출력 특성의 수를 어떤 순서로 받느냐에 따라 전치 연산이 필요할 수도 있고 아닐 수 있습니다!...
[AI 공부하기-02] 행렬의 연산 및 객체 생성
지난 글에서 선형 모델을 먼저 구현해 보겠다는 목표를 세웠었는데, 그 전에 해야할 일이 바로 행렬 연산에 관한 객체를 먼저 만드는 것입니다. 🖩 행렬의 연산 덧셈 행렬의 덧셈은 기본적으로 두 행렬의 행과 열이 같아야 가능합니다. $$\begin{align*}\begin{pmatrix}1&2\\3&4\end{pmatrix}+\begin{pmatrix}5&6\\7&8\end{pmatrix}&=\begin{pmatrix}1+5&2+6\\3+7&4+8\end{pmatrix}\\&=\begin{pmatrix}6&8\\10&12\end{pmatrix}\end{align*}$$ 하지만 선형 모델에서는 두 행렬의 덧셈 연산이 아닌, 행렬과 벡터1의 덧셈(Broadcasting) 연산이 필요합니다. 💡 벡터는 행렬의 특별한 경우로 볼 수 있다. \(b=[b_1,b_2,b_3]\) 세로로 쓰면 \(3 \times 1\) 열벡터, 가로로 쓰면 \(1 \times 3\) 행벡터 선형 모델에서의 덧셈은 가중치에 편향을 더하는 것인데, 행렬을 행벡터라고 생각하고 모든 행에 더해주면 됩니다....
[AI 공부하기-01] 종류 및 용어 정리
지금까지 AI를 사용해 오면서 정말 대단하다는 생각과 함께 어떻게 이런 결과를 낼 수 있을까? 궁금증이 들어서 AI에 대해 조금 공부를 해보려고 합니다. 👍 🤖 AI 종류 발전 단계, 핵심 기능, 사용 목적에 따라 다양하게 구분할 수 있음 발전 단계에 따른 분류 구분 설명 예시 약인공지능 (ANI, Artificial Narrow Intelligence) 특정 목적이나 제한된 작업만 수행하도록 설계된 AI (현재 상용화된 모든 AI) ChatGPT, 알파고, 자율주행, 음성인식 비서 강인공지능 (AGI, Artificial General Intelligence) 인간 수준의 범용적인 지능을 갖추어 다양한 분야를 스스로 학습하고 문제 해결하는 AI 영화 속 AI (현재 연구·개발 진행 중) 초인공지능 (ASI, Artificial Superintelligence) 모든 영역에서 인간의 지능을 뛰어넘는 가상의 AI 미래 형태 (상상 단계) 생성 및 작동 형태에 따른 분류 구분 설명 예시 생성형 AI (Generative AI) 데이터 패턴을 학습해 텍스트, 이미지, 음성, 코드 등 새로운 콘텐츠를 직접 만들어내는 AI ChatGPT, Gemini, Midjourney, Claude 분석형/분류형 AI (Discriminative AI) 입력된 데이터를 비교·분석하여 패턴을 분류하거나 미래 값을 예측하는 AI 스팸 메일 필터링, 추천 시스템(유튜브·넷플릭스), 불량품 감지 자율형 AI (Autonomous AI) 사람의 개입 없이 환경을 인식하고 스스로 판단해 행동하는 AI 자율주행차, 서빙/산업용 로봇 데이터 유형에 따른 분류 구분 설명 예시 텍스트 AI 문서 요약, 번역, 대화, 코드 작성 LLM 기반 모델 시각 AI (Computer Vision) 이미지 인식, 객체 탐지, 이미지/영상 생성 Stable Diffusion, Vision 모델 음성 AI 음성합성(TTS), 음성인식(STT) Siri, Whisper 멀티모달 AI (Multimodal AI) 텍스트, 이미지, 음성, 영상 등 여러 형태의 데이터를 동시에 이해하고 처리하는 통합형 AI Gemini, GPT-4o 📑 AI 관련 용어 정리 기본 개념 및 학습 방식 용어 설명 인공지능 (AI, Artificial Intelligence) 인간의 학습, 추론, 지각 능력 등을 컴퓨터 시스템으로 구현한 포괄적인 기술 개념입니다....
Race condition (경쟁 조건) 관련 글
예전에 스레드를 공부하다가 Lockfree라는 것을 알게 되었었고 일단 뭐든 만들어보자는 마인드로 MPMC부터 무턱대고 만들었었는데, 지금 와서 생각해 보니 남는 것도 없고 너무 얄팍하게 안 것 같아서 차근차근 개념을 이해하기 위해 작성한 글입니다.. 😎 🔎 Race condition “경쟁은 왜 발생하는 것일까?” “경쟁 상태에 데이터를 읽고 쓰면 무슨 일이 벌어질까?“에 대한 명확한 이해가 먼저 필요했습니다. 상황별로 살펴보도록 하겠습니다. Case 1: Read - Read 어떤 한 데이터를 2개 또는 그 이상 되는 스레드가 모두 읽기만 한다면 아무 일도 일어나지 않습니다....