📌 JAX로 강화 학습 모델 구축 - Q-learning을 이용한 CartPole 문제 해결🚀 강화 학습이란?강화 학습(RL)은 **에이전트(Agent)**가 환경(Environment)과 상호작용하며, 보상(Reward)을 최대화하는 정책(Policy)을 학습하는 기법입니다.이번 글에서는 JAX를 활용하여 Q-learning 기반의 강화 학습 모델을 구축하여 CartPole 문제를 해결해보겠습니다.💡 1. Q-learning의 핵심 개념📐 Q-learning 알고리즘 구조Q 함수: 상태-행동 쌍 (s, a)의 가치를 추정하는 함수목표: Q값을 업데이트하여 최적 정책을 학습Bellman Equation:Q(s,a)=Q(s,a)+α×[r+γ×maxa′Q(s′,a′)−Q(s,a)]Q(s, a) = ..
Link/Cut Tree: 동적 트리 문제 해결의 최적화 구조Link/Cut Tree는 트리 구조가 동적으로 변화하는 문제를 효율적으로 처리하는 고급 자료구조입니다.트리 경로 쿼리, 동적 연결/분리, 트리 구조 변경을O(log N) 시간에 처리할 수 있는 강력한 도구로,온라인 동적 트리 문제를 다루기 위해 필수적입니다.이번 글에서는 Link/Cut Tree의 개념, 구성 원리, 주요 연산,그리고 실전 문제에서 어떻게 활용하는지 단계별로 정리합니다.✅ Link/Cut Tree란?트리의 각 노드를 Splay Tree로 관리하여트리의 **연결/분리(Link/Cut)**와 경로 쿼리를 효율적으로 처리하는 자료구조💡 Link/Cut Tree의 핵심 아이디어동적 트리 관리트리 구조가 변할 수 있는 상황에서 O(l..
🌟 현대 인공지능 학습 2단계: 인공신경망과 딥러닝📅 학습 기간: 7~9개월🎯 학습 목표: 신경망 모델의 이해와 딥러닝 기법 학습📝 1. 인공신경망(ANN) 기초인공신경망(Artificial Neural Network)은 인간의 뇌 구조를 모방하여 만든 알고리즘입니다.뉴런(Neuron)을 기반으로 여러 층(Layer)을 거쳐 학습합니다.딥러닝은 이러한 신경망 구조를 심화하여 다층 신경망을 사용하는 기술입니다.📌 1-1. 신경망의 기본 구성 요소신경망은 입력층(Input Layer), 은닉층(Hidden Layer), **출력층(Output Layer)**으로 구성됩니다.입력층: 데이터를 입력받는 층은닉층: 입력 데이터를 가공하여 특징을 추출하는 층출력층: 최종 예측 결과를 출력하는 층🔑 1) ..
📌 JAX로 CNN(합성곱 신경망) 구현 - 손글씨 이미지 분류 (MNIST)🚀 JAX를 활용한 CNN 모델 만들기이전 글에서는 JAX를 사용하여 MLP를 구현하여 MNIST 손글씨 데이터를 분류했습니다.이번 글에서는 **합성곱 신경망(CNN)**을 사용하여 성능을 더욱 향상시키겠습니다.💡 1. CNN의 핵심 개념CNN은 이미지 데이터를 처리하기 위해 개발된 신경망 구조로, 주요 구성 요소는 다음과 같습니다:합성곱 층 (Convolutional Layer): 필터를 사용하여 이미지 특징을 추출풀링 층 (Pooling Layer): 특성 맵의 크기를 줄여 계산량 감소완전 연결 층 (Fully Connected Layer): 분류를 위한 최종 계층📝 2. 데이터셋 준비이전과 동일하게 tensorflo..
동적 트리 문제 해결을 위한 HLD + Lazy Propagation: 구간 업데이트와 경로 쿼리를 동시에 처리하기**Heavy-Light Decomposition (HLD)**는 트리 구조에서 경로 쿼리를 효율적으로 처리하는 기법입니다.하지만 구간 업데이트까지 필요할 때는 기본 HLD만으로는 한계가 있습니다.이번 글에서는 HLD와 Lazy Propagation을 결합하여동적 트리 문제에서 구간 업데이트와 경로 쿼리를 동시에 처리하는 방법을 단계별로 정리합니다.✅ 문제 상황: 경로 쿼리와 구간 업데이트HLD를 사용하면 트리 경로 문제를 **O(log² N)**에 처리할 수 있습니다.하지만 구간 업데이트까지 포함되는 문제는 다음과 같은 상황을 처리해야 합니다:노드 값 갱신: 특정 노드의 값을 증가시키기경로..
Heavy-Light Decomposition (HLD): 동적 트리 문제 해결의 핵심 알고리즘**Heavy-Light Decomposition (HLD)**는 트리 구조에서 동적 구간 쿼리를 효율적으로 처리하기 위한 기법입니다.주로 동적 경로 문제, LCA + 구간 쿼리 문제에서 필수적으로 사용됩니다.이번 글에서는 HLD의 개념, 구성 방법, 세그먼트 트리와의 결합을 통해동적 트리 문제를 효율적으로 해결하는 방법을 단계별로 정리합니다.✅ Heavy-Light Decomposition(HLD)란?트리의 경로 쿼리를 **O(log² N)**으로 효율적으로 처리하는 고급 기법입니다.트리를 Heavy 경로와 Light 경로로 나누어트리 경로 문제를 여러 개의 구간 문제로 분리하여 해결합니다.🔑 HLD의 핵심..
📌 JAX를 활용한 신경망 모델 구축 - MLP를 이용한 손글씨 인식 (MNIST)🚀 JAX로 신경망 모델 만들기이전 글에서는 JAX의 자동 미분과 JIT 컴파일의 기본 사용법을 배웠습니다.이번에는 이를 활용하여 간단한 다층 퍼셉트론(MLP) 모델을 구축하여 손글씨 데이터(MNIST)를 분류해보겠습니다.📝 1. 데이터셋 준비💾 MNIST 데이터 불러오기JAX에서는 직접 데이터를 불러와야 하므로 tensorflow_datasets를 사용하여 데이터를 로드합니다.pip install tensorflow-datasetsimport tensorflow_datasets as tfdsimport jax.numpy as jnp# MNIST 데이터 불러오기ds = tfds.load('mnist', split='..
🌱 현대 인공지능 학습 1단계: 기초 데이터 분석📅 학습 기간: 1~3개월🎯 학습 목표: 데이터 수집과 전처리 능력 함양📝 1. 데이터 분석의 중요성현대 인공지능의 핵심은 데이터를 기반으로 모델을 학습하는 것입니다.데이터를 수집하고 정제하여 인사이트를 도출하는 과정은 AI 프로젝트의 성공을 좌우합니다.이번 글에서는 Python을 활용한 기초 데이터 분석 방법과 실습 프로젝트를 소개합니다.📌 1-1. 데이터 수집데이터를 수집하는 방법에는 여러 가지가 있습니다.파일에서 불러오기 (CSV, Excel 등)웹 크롤링 (BeautifulSoup, Selenium)공공 데이터 API 활용데이터베이스에서 직접 가져오기🔑 1) CSV 파일 읽기CSV 파일은 가장 많이 사용되는 데이터 형식 중 하나입니다.Py..
📌 JAX의 핵심 기능 - 자동 미분과 JIT 컴파일로 성능 극대화🚀 JAX의 핵심 기능 둘러보기JAX는 다양한 기능을 제공하지만, 특히 **자동 미분(Automatic Differentiation)**과 **JIT 컴파일(Just-In-Time Compilation)**이 가장 중요한 요소입니다.이 두 가지 기능을 깊이 이해하면 JAX를 활용하여 고성능 모델을 구축할 수 있습니다.💡 1. 자동 미분 (Automatic Differentiation)자동 미분은 수학 함수의 미분을 기계적으로 계산하는 기법으로,기계 학습 모델의 학습 단계에서 필수적인 **기울기 계산(Gradient Calculation)**에 사용됩니다.✅ 자동 미분의 장점수학적 유도 불필요: 복잡한 미분 공식을 직접 계산할 필요가 ..
RMQ와 LCA를 위한 스파스 테이블(Sparse Table) 최적화: 구간 최소/최대/공통 조상 빠르게 찾기스파스 테이블(Sparse Table)은 정적 데이터에서 구간 최소값(RMQ), 최대값, GCD 등을**매우 빠르게 계산(O(1))**할 수 있는 자료구조입니다.특히 LCA(Lowest Common Ancestor) 문제 해결에도 최적화되어 있습니다.이번 글에서는 스파스 테이블의 구조와 구성 원리, RMQ 문제 해결법,그리고 LCA 문제를 스파스 테이블로 최적화하는 방법까지 다룹니다.✅ 스파스 테이블(Sparse Table) 개념정적 배열에서 여러 구간의 최솟값/최댓값/GCD 등을 빠르게 구하는 자료구조전처리 시간: O(N log N)쿼리 시간: O(1)🔑 스파스 테이블 사용 조건업데이트가 없는..
- Total
- Today
- Yesterday
- DevOps
- Prisma
- 개발블로그
- Python
- Ktor
- App Router
- 웹개발
- flax
- fastapi
- 프론트엔드면접
- time series
- NestJS
- 딥러닝
- 프론트엔드
- kotlin
- nextJS
- PostgreSQL
- gatsbyjs
- Next.js
- Docker
- rag
- JAX
- REACT
- 쿼리최적화
- CI/CD
- 면접질문
- llm
- seo 최적화 10개
- 파이썬알고리즘
- SEO최적화
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |