반응형 전체 글226 [기계학습] 딥러닝 최적화 - 규제 ( 가중치 감쇠, 조기 멈춤, 데이터 증강) 기계학습 기말고사를 대비하여 정리한 글 딥러닝 최적화 방법 1. 목적함수 개선 2. 효율적인 학습 전략 3. 규제 기법4. 하이퍼파리미터 최적화5. 2차 미분을 이용한 최적화 현대 기계학습의 전략 => 충분히 큰 모델 설계 + 학습 과정에서 여러 규제 기법을 적용한다 규제 규제 기법으로는 가중치 벌칙, 조기 멈츰, 데이터 증강이 있다. 이때 규제는 명시적 규제와 암시적 규제로 나뉜다. 명시적 규제 : 목적함수나 신경망 구조를 직접 수정하는 방식 (가중치 감쇠, 드롭아웃) 암시적 규제 : 간접적으로 영향을 미치는 방식 ( 조기 멈춤, 데이터 증강) 1. 가중치 벌칙 규제를 적용한 목적함수는 다음과 같다. 규제항 R : 훈련집합과 무관하며 단지 매개변수의 크기에 제약을 가하는 .. 2025. 12. 14. [기계학습] 딥러닝 최적화 - 효율적인 학습 전략 딥러닝 최적화 방법 1. 목적함수 개선 2. 효율적인 학습 전략 3. 규제 기법4. 하이퍼파리미터 최적화5. 2차 미분을 이용한 최적화 효율적인 학습 전략 효율적인 학습 전략에는 데이터 전처리, 가중치 초기화, 모멘텀, 적응적 학습률이 있다. 1. 데이터 전처리 데이터 전처리에서 발생하는 문제점 규모 불일치 (특징마다 규모가 다른 문제) => 규모가 큰 쪽으로 가중치 업데이트가 크게 일어남 (지그재그)모든 특징이 양수인 문제 => 여러 가중치가 뭉치로 증가 또는 감소한다. 가중치 업데이트의 다양성이 훼손된다. 이러한 문제점을 해결하는 방법으로는 정규화가 있다 1-1. 정규화 평균 0 => 모든 특징이 양수인 문제를 해결표준편차 1 => 규모가 불일치 하는 문제를 해결한다. 💡어떤 특징.. 2025. 12. 14. [컴파일러] 컴파일러 정리 - PDA, LL Parser, LR Parser, Follow, First 컴파일러 기말고사를 대비하여 정리한 글입니다. 1. Pushdown Automata(PDA)를 설명하기Pushdown Automata(PDA)는 문맥자유언어(Context-Free Language, CFL)를 인식하기 위한 계산 모델이다.이는 유한 오토마타(Finite Automata, FA)에 스택(Stack)이라는 추가적인 기억 장치를 결합한 형태이다. 유한 오토마타는 상태만을 이용해 입력을 처리하므로, 입력의 개수를 기억하거나 중첩 구조를 처리할 수 없다. 반면 PDA는 스택을 사용하여 이전 입력에 대한 정보를 저장할 수 있으므로, 괄호의 짝 맞추기나 aⁿbⁿ과 같은 언어를 인식할 수 있다. 형식적으로 PDA는 다음과 같은 7-튜플로 정의된다.Q: 상태의 유한 집합Σ: 입력 알파벳Γ: 스택 .. 2025. 12. 14. [오픈소스] 젠킨스 기반 PR 파이프라인 구축 보호되어 있는 글 입니다. 2025. 11. 26. [AWS] 인스턴스 용량 줄이는 법 이번에 인스턴스 ssh 접속 오류가 나서 계속해서 헤매다가 오류가 났던 원인을 알게되었습니다. 인스턴스 용량이 다 차서 발생했던 것이었습니다.. 즉, 키페어 문제가 아니라, 디스크 용량 100% 사용으로 인해 sshd 프로세스가 로그를 못 쓰는 것이었습니다. apt 캐시 및 불필요 패키지 제거 sudo apt-get clean sudo apt-get autoremove -y sudo rm -rf /var/lib/apt/lists/ Docker 쓰고 있다면sudo docker system prune -a --volumes snap 완전히 제거(원치 않으면 생략)sudo apt purge snapd -y 로그 파일 정리 sudo journalctl --vacuum-time=2dsudo rm -rf .. 2025. 11. 6. [Docker] 도커 명령어 정리 Docker 명령어 활용Docker 이미지 명령어 구성Docker는 Dockerfile을 이용해 이미지를 build하고, 로컬 서버에 save하거나 load할 수 있습니다. Docker Hub Registry에 docker login 후 이미지를 push하거나 pull하여 공유할 수 있으며, search를 통해 이미지를 찾을 수 있습니다. 이미지는 container로 실행될 수 있습니다. 이미지 검색하기docker search 명령어를 사용하여 Docker Hub에서 이미지를 검색할 수 있습니다.명령어: docker search 이미지명[:TAG]예시: docker search ubuntu공식 이미지: ubuntu, centos, redis 등 OS나 프로그램 이름과 같은 이미지는 공식 이미지로 간주.. 2025. 11. 4. [GCP] Google Kubernetes Engine 사용 Google Kubernetes Engine(GKE) 은 GCP에서 제공하는 완전관리형 Kubernetes 클러스터 서비스이다.오늘은 이 구글 쿠버네티스 엔진을 사용하는 법을 기록해보고자 한다. 1. 클러스터 생성 마켓 플레이스에서 쿠버네티스 엔진 API 사용을 클릭해준다. GCP 콘솔 → Kubernetes Engine → 클러스터를 클릭한 다음 만들기를 선택해준다. 클러스터 유형 선택:Standard: 직접 노드 풀 구성 가능Autopilot: 노드 관리 완전 자동화 (개발/테스트용에 적합) Standard로 일단 설정해주었다. Region, Node Pool 크기, 머신 타입 설정네트워크 / 보안 / IAM 설정Create 클릭 → 몇 분 내 클러스터 생성 .. 2025. 11. 4. [컴파일러] BNF 정리 BNF (Backus–Naur Form)란 BNF는 프로그래밍 언어의 문법(Grammar) 을 형식적으로 표현하기 위한 표기법(Notation)을 말한다. 컴파일러의 구문 분석(Parsing) 의 근간이 된다. 프로그래밍 언어의 문법 구조를 분명하고 간결하게 표현할 때 주로 사용된다. 1950년대 후반에 존 배커스(John Backus)와 피터 나우어(Peter Naur)가 개발한 방법이라 'Backus-Naur Form'이라 부르게 되었다. BNF 표현 방법 ::= 표현식 BNF 예시 ::= + | - | ::= * | / | ::= ( ) | ::= 0 | 1 | 2 | 3.. 2025. 10. 23. [컴파일러] 촘스키 언어 계층 정리 - 문법 정리 Chomsky Grammar Hierarchy 문법을 표현 능력(Grammar Power)과 제약(Restrictions)에 따라 네 가지 계층으로 나눈 구조로, 안쪽에서 바깥쪽으로 갈수록 제약이 줄고, 표현 능력이 강해진다. 1. Type-3 Grammar (Regular Grammar, 정규 문법)가장 단순한 문법정규 표현식(Regular Expression)으로 표현 가능유한 오토마타(FA, Finite Automaton)로 인식 가능예: 이메일 형식, 전화번호 패턴 2. Type-2 Grammar (Context-Free Grammar, 문맥 자유 문법)정규 문법보다 강력푸시다운 오토마타(PDA)로 인식 가능프로그래밍 언어 문법 대부분이 여기에 속함 (if-else, 중첩 구조 등)예:.. 2025. 10. 23. [컴파일러] 컴파일러의 구조 (Front-End와 Back-End 구성과 역할) 컴파일러의 구조 컴파일러는 Front-end (전단부) 와 Back-end (후단부) 로 나뉜다.Front-end → 소스코드의 의미를 분석하고, 중간 표현(IR)을 생성하는 부분Back-end → IR을 최적화하고, 실제 기계어 코드로 변환하는 부분 컴파일러의 컴포넌트 컴파일러의 컴포넌트는 다음과 같이 나눠진다 1. Lexical Analyzer (어휘 분석기)문자 스트림(character stream)을 읽고, 토큰(token)으로 나눔 → a = b + c; → , , , , Token stream2. Syntax Analyzer (구문 분석기)토큰을 문법에 맞게 트리 구조로 분석 → 구문 트리(syntax tree) 생성. 즉, 프로그램의 구조(문법적 계층)를 파악함.Syntax.. 2025. 10. 23. [컴파일러] NFA -> DFA 변환 Deterministic Finite Automata (DFA)어떤 상황에서도 이동(transition)을 선택할 여지가 없다.→ 즉, 현재 상태와 입력 기호가 주어지면 다음 상태가 단 하나로 결정된다.→ “결정적(Deterministic)”이라는 말은 바로 이 뜻이다. Non-deterministic Finite Automata (NFA)적어도 한 경우에서 다음 상태로 가는 선택지가 여러 개일 수 있다.→ 즉, 같은 상태에서 같은 입력 기호로 여러 개의 전이(transition) 가 가능하거나,→ ε(엡실론) 전이처럼 입력 없이 이동하는 경우가 있을 수 있다.입력 문자열을 받아들인다는 것(accept) 은→ 여러 가능한 경로 중 하나라도 최종 상태(final state)에 도달할 수 있다면 Accept.. 2025. 10. 23. [컴파일러] 컴파일러란? 컴파일러란? 컴파일러란 무엇일까? 컴파일러는 개발자라면 무조건 들어봤을 용어이다. 컴파일러를 단순히 실행 코드를 만들어주는 프로그램이라고 이때까지 생각했었다. 하지만 컴파일러를 더욱 정확하게 말한다면 다음과 같이 설명할 수 있다. 컴파일러(Compiler)란 개발자가 작성한 고급 언어(C, Java, Python 등) 로 된 프로그램을 컴퓨터가 이해할 수 있는 저급 언어(기계어 또는 어셈블리어) 로 번역(translate) 해주는 프로그램이다. 개발자가 작성한 코드는 그대로는 컴퓨터가 이해하지 못한다. 그래서 컴파일러가 이 코드를 읽고, 구문 분석(syntax analysis) 과 의미 분석(semantic analysis) 등을 거쳐 기계어 코드로 변환한다. 이때 컴파일러는 단순히 코드를 변환.. 2025. 10. 22. 계획 정리 보호되어 있는 글 입니다. 2025. 10. 21. [Ubuntu] 윈도우 powershell 에서 리눅스 설치 (wsl) 1. WSL(Windows Subsystem for Linux) 설치PowerShell을 관리자 권한으로 실행하고 아래 명령어를 입력 wsl.exe --install 2. 특정 리눅스 배포판 지정 (원할 경우) Ubuntu 외의 배포판(Debian, Kali 등)을 설치하고 싶다면 wsl --install -d 3. 설치 완료 후 초기 설정설치가 끝나면 터미널이 자동으로 열리며, 리눅스 사용자 이름과 비밀번호를 설정하라는 메시지가 뜹니다.이 과정을 마치면 wsl 명령어로 언제든 접속할 수 있습니다. wsl 2025. 10. 19. [정보보호] 코드 보안 정리 시스템 구성과 프로그램 동작 프로그램과 코드 보안보안 취약점은 하드웨어, 어셈블리어, 소스코드 중 소스코드에서 가장 쉽게 발생합니다.주된 원인은 데이터의 형태와 길이에 대한 불명확한 정의입니다.예시: 장보기 심부름에서 물품 종류와 가격을 불명확하게 알려주어 문제가 발생하는 상황. 시스템 메모리의 구조프로그램 동작 시 메모리에 가상 공간이 생성되며, 이 공간은 스택(Stack) 영역, 힙(Heap) 영역, 데이터 섹션, 코드 섹션 등으로 구성됩니다.로더가 프로그램을 메모리로 올립니다. Stack 영역과 Heap 영역 특징 Stack 영역 Heap 영역 용도프로그램 로직 인자, 프로세스 상태 저장런타임에 필요한 데이터 임시 저장사용 방식복귀 주소 저장, 서브루틴 인자 전달동적 메모리 할당 (ex: m.. 2025. 10. 18. [정보보호] 웹 보안 정리 웹 해킹웹 취약점 스캐너를 통한 정보 수집빠른 시간 내에 다양한 접속 시도를 수행할 수 있다는 장점.스캐너로 확인된 취약점이 실제 보안 문제가 아닌 경우가 많음 프록시 (Web Proxy)를 통한 취약점 분석웹의 구조 파악, 취약점 점검, 웹 해킹 시 웹 프록시 툴 사용.클라이언트에 설치되어 클라이언트의 통제를 받음.클라이언트가 웹 서버와 웹 브라우저 간에 전달되는 모든 HTTP 패킷을 웹 프록시를 통해 확인하고 수정 가능.대표적인 웹 프록시 툴: Burp Suite (http://portswigger.net/burp 에서 무료 버전 다운로드 가능). 서버에서 클라이언트로 전송되는 패킷 변조서버가 클라이언트로 전송하는 패킷의 변수 값을 조작하여 악용 가능.예시: 서버에서 전송한 $A = 20$ 값을 클.. 2025. 10. 18. [정보보호] 스푸핑 공격 스푸핑 공격 (Spoofing) 스니핑 공격이란?네트워크 상의 데이터를 도청,가로채는 공격 ⭐ 스푸핑 공격이란? 네트워크에서 신원을 위조하는 공격을 말한다. 스푸핑 공격은 여러 종류가 있다. ARP 스푸핑, IP 스푸핑, DNS 스푸핑이 있다. ARP 스푸핑 공격 MAC 주소를 속이는 공격으로, 로컬 네트워크에서 통신하는 서버와 클라이언트의 IP 주소에 대한 MAC 주소를 공격자의 MAC 주소로 속여 통신 흐름을 왜곡시킨다. ARP 스푸핑 과정:공격자가 Server의 Client에 $10.0.0.2$에 해당하는 가짜 MAC 주소 CC를 알리고, Server에는 $10.0.0.3$에 해당하는 가짜 MAC 주소 CC를 알림.공격자가 Server와 Client 컴퓨터에서 서로 통신하는 상대방을 자기.. 2025. 10. 18. [정보보호] 서비스 거부 공격: DoS와 DDoS 서비스 거부 공격 (Denial of Service, DoS) 다른 해킹에 비해 비교적 간단한 훼방 공격으로, 특정 서비스나 시스템의 정상적인 작동을 방해하여 사용자가 서비스를 이용할 수 없게 만든다. 취약점 공격형: 특정 형태의 오류가 있는 네트워크 패킷 처리 로직의 문제점을 이용하여 오작동 유발.보잉크(Boink), 봉크(Bonk), 티어드롭(Tear Drop)랜드(Land) 공격자원 고갈 공격형: 네트워크 대역폭, 시스템의 CPU, 세션 등의 자원을 소모시켜 시스템 마비.랜드(LAND) 공격죽음의 핑(Ping of Death)SYN 플러딩 공격HTTP GET 플러딩 공격, HTTP CC 공격동적 HTTP 리퀘스트 플러딩 공격슬로 HTTP 헤더 DoS (슬로로리스) 공격, 슬로 HTTP POS.. 2025. 10. 18. [기계학습] Multilayer Perceptron : MLP Multilayer Perceptron 퍼셉트론은 선형 분류기라는 점에서 한계가 있었다. XOR 문제에서 선형 분리 불가능한 상황에서는 일정한 양의 오류가 발생했다. 이러한 퍼셉트론의 단점을 보완하기 위해 MLP가 나오게 되었다. ⭐ MLP의 핵심 아이디어 1. 은닉층 추가 (Hidden Layer)입력층(Input Layer)과 출력층(Output Layer) 사이에 하나 이상의 은닉층을 둠.단층 퍼셉트론은 선형 분리 문제만 해결할 수 있지만,은닉층이 생기면 비선형 관계를 학습할 수 있음.즉, 입력 특징 공간을 더 분류하기 쉬운 고차원 공간으로 변환하는 역할을 함 2. 시그모이드 활성함수 도입 (Sigmoid Activation)출력이 0~1 사이의 연속적인 실수값을 갖게 됨.이를 확률적 해석.. 2025. 10. 17. [기계학습] Perceptron Perceptron의 구조 입력층과 출력층을 가진다 이때 입력층은 연산을 하지 않으므로 퍼셉트론은 단일층 구조라고 간주한다. 입력층의 i 번째 노드는 특징 벡터의 요소 xi를 담당한다. 이때 항상 입력값으로 1을 받는 것은 바이어스 노드이다. (바이어스 노드를 따로 계산할 때 더하는 것이 아닌 처음부터 입력으로 포함키는 것이다.) i 번째 입력층 노드와 출력층을 연결하는 선은 가중치 wi를 가진다. 이때 w0는 바이어스이다. Perceptron의 동작 해당하는 특징값과 가중치를 곱한 결과를 모두 더하여 s 를 구하고 활성함수 T를 적용한다. 이때 활성함수로 계단함수를 사용하므로 최종 출력 y 는 +1 또는 -1 이다. ⭐퍼셉트론으로 OR 논리 게이트 분류 문제 해결이 가능.. 2025. 10. 17. [기계학습] 선형대수학 - 행렬 Matrix — 선형대수학과 기계학습의 핵심 행렬(Matrix)의 개념 여러 벡터를 모은 2차원 숫자 배열을 말한다. 훈련집합의 특징들을 행 또는 열로 표현한 것도 행렬이라고 할 수 있다. 행렬은 다항식을 간결하게 표현할 수 있고 벡터화를 통한 고속 연산 구현이 가능하다. 예를 들어, Iris 데이터셋에서 150개의 샘플과 4개의 특징(feature)을 가진다면전체 데이터는 X∈R ^150×4 로 표현된다. 행렬 A의 전치행렬 행과 열을 바꾼 행렬을 전치 행렬이라고 한다. 특수한 행렬들 정사각행렬: 행과 열의 수가 같은 행렬 대각행렬: 주 대각선을 제외한 모든 항들이 0 단위행렬: 대각행렬이면서, 대각선의 항들이 모두 1 대칭행렬: n x n 행렬이 A = A^T이다. .. 2025. 10. 16. 이전 1 2 3 4 ··· 11 다음 반응형