본문 바로가기
반응형

분류 전체보기78

[ML][용어] GELU 함수 GELU는 입력을 양수일 확률만큼 부드럽게 통과시키는 활성화 함수로, 매끄러운 비선형성과 죽은 뉴런 완화라는 장점이 있지만 ReLU보다 계산이 복잡한 단점이 있습니다. 1. GELU 함수의 정의 GELU(Gaussian Error Linear Unit) 함수는 입력값 x를 확률적으로 통과시키는 활성화 함수입니다.ReLU는 0보다 작으면 아예 끊어버리지만, GELU는 작은 음수도 조금은 통과시켜서 부드러운 출력 곡선을 만듭니다. 수학적으로 정의하면 다음과 같습니다.더보기 Φ(x)는 표준정규분포의 누적분포함수(CDF) 입니다.즉, 평균 0·분산 1인 정규분포에서 임의로 뽑은 값이 x 이하일 확률입니다.따라서 x Φ(x)는 입력 x를 확률 Φ(x) 만큼 통과시킨 값으로 볼 수 있습니다. ​여기서, Φ(x)는 .. 2025. 10. 10.
[ML][용어] tanh 함수(하이퍼볼릭 탄젠트 함수) tanh 함수는 -1~1 범위의 비선형 함수로, 평균이 0에 가까워 학습이 안정적이지만, 경사 소실 문제와 ReLU 대비 계산 비용이 높은 한계가 있습니다. 1. tanh 함수의 정의 하이퍼볼릭 탄젠트 함수는 입력값을 -1과 1 사이의 값으로 압축하는 S자 형태의 비선형 함수입니다.수학적으로 정의하면 다음과 같습니다.​여기서, 입력이 클수록 출력은 1에 가까워지며, 입력이 작을수록 출력은 -1에 가까워집니다.즉, x가 매우 큰 양수면 e^x기 압도적으로 커져서 (x → +∞), f(x) = 1반대로 x가 매우 큰 음수면 e^-x가 압도적으로 커져서 (x → -∞), f(x) = -1 이 됩니다.2. 주요 특징1) 비선형성tanh 함수는 비선형 함수를 제공하므로, 신경망이 복잡한 패턴을 학습할 수 있게 해.. 2025. 10. 10.
[Z3 입문 시리즈] 1. 설치부터 해보자! Z3 시작하기 Z3는 논리식이나 제약 조건을 자동으로 풀어주는 SMT 솔버입니다.하지만 아무리 좋은 도구도 설치가 안 되면 말짱 도루묵이죠...이번 글에서는 Z3를 내 컴퓨터에 설치하고, 첫 번째 예제 코드를 실행하는 것까지 함께 해보겠습니다. Python에서 Z3 사용하기Z3는 다양한 언어를 지원하지만, 이 시리즈에서는 가장 많이 사용하는 Python에서 Z3를 사용하는 방법을 기준으로 설명합니다.Python이 설치되어 있어야 합니다.(설치가 안 되어 있다면 👉 Python 공식 사이트에서 설치해주세요.)1. 🍎 Mac에서 설치하기 (macOS)1) 터미널 열기스포트라이트(command + space)를 열고 “터미널”을 입력해 실행합니다.2) z3-solver 설치아래 명령어를 입력하여 Z3 Python 바인딩.. 2025. 4. 7.
[Z3 입문 시리즈] 0. 논리를 푸는 도구, Z3를 소개합니다 Z3는 수식이나 논리를 자동으로 증명하거나, 조건을 만족하는 값을 찾아주는 SMT Solver입니다.정수나 실수 같은 간단한 종류부터 배열, 비트벡터 등 복잡한 구조까지 폭넓게 지원해,형식 검증부터 퍼즐 풀이까지 다양하게 활용할 수 있습니다.1) Z3란?SMT(Satisfiability Modulo Theories)라는 개념에 기반한 솔버입니다.논리식의 참/거짓만 따지는 SAT(참/거짓 문제)에서 더 나아가,정수, 실수, 배열, 비트벡터 같은 수학적 이론까지 고려해 “만족 가능한 해가 있나?”를 찾습니다.마이크로소프트 리서치에서 만들었고 오픈소스로 공개되어 있어,형식 검증이나 프로그램 분석 등 다양한 분야에서 두루 활용됩니다.2) 왜 Z3를 써야 하는가?한 번 제약을 써넣기만 하면, Z3가 알아서 해를 .. 2025. 4. 4.
반응형