Stanford CS231N Lecture 8: Transformers 정리 📋 목차Transformer의 탄생 배경Transformer Block 완전 해부Self-Attention 심층 분석Multi-Head Attention의 모든 것Layer Normalization 이해하기Feed-Forward Network (MLP)Positional EncodingMasked Self-Attention계산 복잡도와 Flash AttentionTransformer for LLM (언어 모델)Vision Transformer (ViT)최신 Transformer 변형들Transformer 규모의 진화실습: 직접 구현해보기1. Transformer의 탄생 배경1.1 "Attention is All You Need"2017년, Vaswani et al.이 발표한 논문 "Attention i.. 센서별 한계와 원인 1️⃣ 반사 재질이 ToF, Structured Light에서 노이즈가 생기는 이유❗ 핵심 문제: 거울 반사 (Specular Reflection)일반 물체 vs 반사 물체의 차이:📦 일반 물체 (확산 반사, Diffuse Reflection):센서 → 빛 발사 → [물체] → 사방으로 산란 → 센서로 일부 반사 ↗ ↑ ↖ ← ↑ → ↘ ↓ ↙→ 센서가 빛을 잘 받음 ✅🪞 반사 물체 (거울 반사, Specular Reflection):센서 → 빛 발사 → [거울/금속] → 한 방향으로만 반사 →💨 ↗ .. 3D Depth 센서 원리와 장단점 정리 3D Depth 센서 원리와 장단점 정리 1️⃣ Passive Stereo Vision✅ 핵심 원리:- 두 개의 카메라로 같은 장면을 촬영- 두 눈이 보는 각도 차이(시차)로 거리 계산- 외부 광원(태양광, 실내 조명)에 의존✅ 장점:- 추가 광원 불필요- 실외에서도 사용 가능❌ 단점:- 어두운 곳: 밝기 부족으로 카메라에 아무것도 안 보임- 질감 없는 물체(흰 벽 등): 특징점이 없어 대응점 매칭 불가- 계산량이 많아 느릴 수 있음비유:왼쪽 카메라: ⚪⚪⚪⚪⚪오른쪽 카메라: ⚪⚪⚪⚪⚪→ 어느 점이 같은 점인지 알 수 없음!vs.왼쪽 카메라: 🔴🔵⚪🟢🟡오른쪽 카메라: 🔴🔵⚪🟢🟡→ 색깔(질감)이 다르니 매칭 가능!2️⃣ Active Stereo Vision✅ 핵심 원리:- 두 개의 카메라 .. 3D Depth 센서에 대한 이해 🎯 기본 개념: 깊이(Depth)란?카메라로 사진을 찍으면 2D 이미지만 얻는다. 하지만 물체가 얼마나 멀리 있는지를 알려면 깊이 정보가 필요하다. 이게 바로 3D Depth 센서가 하는 일이다.1️⃣ Stereo Vision (스테레오 비전)🔍 핵심 원리: 사람의 두 눈처럼 작동1) Passive Stereo (수동 스테레오)어떻게? 두 개의 카메라로 같은 장면을 찍어서 비교일상 비유:한쪽 눈을 감고 연필을 잡으려면 어렵지만, 두 눈으로 보면 쉽죠?두 눈이 보는 각도 차이로 거리를 알 수 있어요장점: 추가 광원 불필요, 실외에서도 사용 가능단점:밝기가 부족하거나 질감이 없는 물체(흰 벽 등)는 어려움계산량이 많아서 느릴 수 있음Active Stereo (능동 스테레오)어떻게? 두 카메라 + 적외선 .. 로봇 작업 목적에 따른 3D 표현 비교 1. 작업 목적(인식, 조작, 네비게이션) 예시인식 (Perception)목적: 주변 환경과 객체를 이해하고 분류예시:자율주행차가 보행자, 차량, 신호등 식별창고 로봇이 박스, 팔레트 인식드론이 장애물 감지적합한 표현: Point Cloud (LiDAR), RGB-D (빠른 처리)조작 (Manipulation)목적: 물체를 정확하게 잡고 다루기예시:로봇 팔이 부품을 집어서 조립과일 수확 로봇이 토마토를 손상 없이 따기수술 로봇이 정밀한 기구 조작적합한 표현: Mesh (정확한 표면과 접촉점 계산), SDF (충돌 회피)네비게이션 (Navigation)목적: 안전하게 경로를 계획하고 이동예시:실내 청소 로봇이 방 사이를 이동자율주행차가 주차장에서 경로 탐색AGV(무인 운반차)가 공장 내 이동적합한 표현: .. 데이터 마이그레이션 SQL 쿼리 (3) Grouping Count 및 Unique Count 💾 데이터 마이그레이션 전, 현재 상황 파악하기 (SQL 조회) 데이터베이스에서 중요한 작업을 시작하기 전에는 "지금 상태가 어떤지"를 정확히 확인해야 합니다.이 과정은 이사를 가기 전에 각 방에 짐이 얼마나 있는지 세어보는 것과 같습니다.우리가 사용할 두 가지 SELECT 쿼리는 바로 이 '짐 세기' 작업을 수행하는 도구입니다. 1. 쿼리: 각 프로젝트별 현재 자료 개수 세기이 쿼리는 마이그레이션 대상 그룹 내에서 각각의 시계열 프로젝트가 현재 몇 개의 어노테이션 자료를 가지고 있는지를 확인합니다.📝 쿼리 내용SELECT A.time_project_id, COUNT(*) AS annotation_countFROM database.annotation AWHERE A.time_pr.. 데이터 마이그레이션 SQL 쿼리 (2) INSERT INTO + NOT EXISTS 💾 데이터베이스와 SQL: 개념 설명1. 데이터베이스 (Database)란 무엇인가요?쉽게 설명: 데이터베이스는 정보를 체계적으로 정리하고 저장해 두는 '전자식 파일 캐비닛' 또는 '초대형 엑셀 파일'이라고 생각할 수 있습니다.역할: 데이터베이스 안에는 고객 목록, 상품 재고, 또는 우리가 다루는 '프로젝트 정보'와 같은 중요한 데이터가 테이블(Table) 형태로 저장되어 있습니다.2. SQL (Structured Query Language)이란 무엇인가요?쉽게 설명: SQL은 이 데이터베이스라는 파일 캐비닛에게 "내가 원하는 정보를 찾아와, 수정해 줘, 또는 새로 넣어 줘" 라고 명령하는 데 사용하는 '언어'입니다.역할: 복잡한 명령어를 사용하지 않고, 정해진 문법대로 요청하면 데이터베이스가 그 요청.. 데이터 마이그레이션 SQL 쿼리 (1) Self Join 예시 쿼리SELECT T1.id AS source_time_project_id, T2.id AS target_time_project_id, T1.project_id AS master_project_idFROM database.time_project T1JOIN database.time_project T2 ON T1.project_id = T2.project_idWHERE T1.id T2.id AND T1.project_id = 99; 쿼리의 전체 목적목적: 마스터 project_id가 99인 그룹에 속한 모든 Time Project ID(id)들이 서로 데이터를 주고받을 수 있는 관계를 파악하는 것입니다.활용: 이는 실제 데이터 마이그레이션(INSERT 작업)을 수행하.. PostgreSQL Primary Key serial4 속성 해제: DROP DEFAULT/DROP SEQUENCE 테이블의 기본 키(Primary Key)로 자주 사용되는 serial4 타입 컬럼을 일반 int4 타입 컬럼으로 되돌리는 작업에 대해 설명하고 정리하려고 합니다.개발 중 실수로 serial4 타입 컬럼을 생성했거나, 기존 테이블의 자동 증가(Auto Increment) 기능을 제거하고 싶을 때가 있습니다.이 포스팅은 PostgreSQL에서 기본 키로 자주 사용되는 serial4 컬럼을 순수한 int4 타입으로 되돌리는 2단계 과정을 자세히 설명합니다. 1. 🔑 serial4 타입, 그 정체를 파헤치다PostgreSQL에서 serial4는 실제 데이터 타입을 넘어서는 편리한 가상 타입입니다. 이 키워드를 사용하면 데이터베이스가 자동으로 다음 세 가지 구성 요소를 한 번에 처리해 줍니다.1. 컬럼 타입: .. [TroubleShooting] S3 업로드 시 한글 파일명 깨짐과 NFC/NFD 정규화 완벽 정리 1. 핵심 요약 (TL;DR)문제: macOS와 Windows/Linux는 한글을 처리하는 유니코드 방식이 다르다. (NFC vs NFD)현상: 로컬(macOS)에서 올린 파일을 Lambda(Linux)에서 찾으려 하면 404 NoSuchKey 에러가 발생한다.해결:S3 조회 시: 방어적 코딩으로 NFC와 NFD 포맷을 모두 조회한다.DB 저장 시: 검색 일관성을 위해 NFD(혹은 NFC)로 포맷을 하나로 통일하여 저장한다.2. 배경 지식: 유니코드 정규화 (Unicode Normalization)문제의 시작한글 "한"이라는 글자는 컴퓨터 입장에서 두 가지 방법으로 표현될 수 있습니다. 사람 눈에는 똑같아 보이지만, 컴퓨터는 이를 완전히 다른 문자열로 인식합니다.구분설명형태바이트 길이(예시)주요 사용 O.. [Troubleshooting] S3와 DB 데이터 불일치 해결: Single Source of Truth(SSOT)의 중요성 AWS S3와 DB를 연동할 때 '무엇'을 기준으로 삼아야 할까?삭제 버튼을 눌렀는데 삭제가 안 되는 경우는 무엇일까? S3와 DB 데이터 불일치하여 생기는 Troubleshooting 문제를 해결하기 위한 Single Source of Truth(SSOT) 개념을 정리하려고 한다. 0. 들어가며: 데이터의 기준은 어디인가?최근 프로젝트에서 AWS S3(파일 저장소)와 RDS(메타데이터 저장소)를 함께 사용하는 기능을 개발하면서 겪은 문제와 해결 과정을 공유하려 합니다.UI에는 분명히 데이터가 존재해서 '삭제'를 눌렀는데, "파일을 찾을 수 없습니다"라는 에러와 함께 삭제가 되지 않는 현상이 발생했습니다. 이 문제를 해결하며 배운 Single Source of Truth(단일 진실 공급원)의 개념과 적.. [AWS/GitHub Actions] 배포 실패! "name unknown: The repository with name..." 에러 해결 및 ECR 개념 정리 AWS Lambda를 Docker 이미지 기반으로 배포하기 위해 GitHub Actions를 돌리던 중, 빌드 파이프라인이 실패하는 상황을 마주했습니다.CI/CD 구축 중 흔히 겪을 수 있는 ECR 리포지토리 누락 문제와 이를 해결하기 위한 핵심 개념들을 정리해 봅니다. 🚨 발생한 오류 상황GitHub Actions 워크플로우 실행 중 docker push 단계에서 다음과 같은 에러가 발생하며 프로세스가 종료되었습니다. name unknown: The repository with name 'data-processor' does not exist in the registry with id '***'Error: Process completed with exit code 1.해석하자면 "네가 이미지를 밀어 .. 이전 1 2 3 4 ··· 22 다음