전체 글 85

Q-Learning, TD Learning (Temporal Difference Learning)

1. TD Learning (Temporal Difference Learning)PurposeTD Learning은 상태 가치 함수 V(s)를 학습정책 π를 따를 때, 상태 s에서 시작하여 기대할 수 있는 expected cumulative reward을 평가하는 데 사용ElementsState (s)현재 에이전트가 위치한 상태.틱택토 게임에서 현재 보드 상태.Value Function (V(s))상태 s의 가치상태 s에서 시작해 정책 π를 따를 때 기대되는 미래 누적 보상V(s) = E_pi[sum_{t=0~infinity} gamma^t * r_t | s_0 = s]E_pi : 기대값 (Expectation under policy), 정책 π를 따를 때 발생할 수 있는 모든 가능한 결과(보상)의 평균..

카테고리 없음 2025.01.22

RL(Reinforcement Learning) - tic tac toe

tic tac toe는 3x3 보드에서 두 명의 플레이어가 번갈아가며 말을 두는 게임이다. 한 플레이어는 X를, 다른 플레이어는 O를 사용하며 가로, 세로, 대각선으로 동일한 기호 3개를 연속 배치하면 승리한다.(이렇기 때문에 삼목이라고 불린다) 모든 칸이 채워졌음에도 승리 조건을 만족하지 못하면 게임은 무승부로 끝난다. Richard S. Sutton and Andrew G. Barto의 Reinforcement Learning: An Introduction Second edition, in progress에 나와있는 설명을 정리해보자.Sutton & Barto의 강화학습 개념(출처: Reinforcement Learning: An Introduction Second edition, in progres..

카테고리 없음 2025.01.21

15.1 시스템 버스

AMBA(Advanced Microcontroller BUS Architecture) busAPB, ASB, AHB, AXI, AXI-Stread 등 목적에 따라 구분된 버스들이 있음 AMBA AXI4 bus5개의 독립적인 채널로 구성되며 각 채널은 AW, W, B, AR R로 시작하는 신호 이름으로 구분AW 채널 : 쓰기 주소 전송W 채널 : 쓰기 데이터 전송B 채널 : 쓰기 결과 전송AR 채널 : 읽기 주소 전송R채널 : 읽기 데이터 전송공용 신호로 클럭(ACLK)와 초기화(ARESETn)ARESETn: 신호가 낮은 전압으로 구동할 때(통상 로직 0) 초기화ACLK: 버스 동작 기준 클럭이며 모든 버스 동작은 Rising edge에 동기  AMBA AXI4 bus채널 프로토콜vaild와 ready신호..

13.2 디지털 회로 가속 설계(파이프라이닝, FIR(Finite impulse resonse))

F,G,H 각 조합 회로의 전파 지연은 15ns, 20ns, 25ns라 하자. 위는 파이프라이닝을 사용하지 않은 회로F와 G가 모두 안정된 출력을 내게되는 20ns이후 H는 유효한 연산을 할 수 있으므로 이 회로의 Latency는 20ns+25ns= 45ns임.H의연산이 종료된 후에 새로운 X를 인가할 수 있으므로 처리량(Throughput)은 초당 1/45ns 위는 2-stage 파이프라이닝을 활용한 회로임레지스터의 셋업타임과 지연시간은 0ns이고 클럭 신호의 불확실성이 없다 해보자.셋업타임 조건식에서 t(pcq), t(setup), t(skew)는 모두 0이므로 클럭의 최소 주기는 t(pd)로 설정할 수 있다F,G,H 중 최장 경로를 결정하는 조합회로는 H이므로 클럭의 주기는 25ns임.이러면 주기는..

13.1 정적 타이밍 분석(STA), 동적 규율(Dynamic Discipline)

타이밍 조건회로가 올바르게 동작하기 위해 신호가 레지스터와 조합회로 사이에서 지켜야하는 최소 및 최대 시간 제약디지털 회로에는 레지스터와 레지스터 간의 경로뿐 아니라, 다양한 타이밍 경로 존재path1: 입력 포트로 들어온 신호가 조합 회로를 거쳐 레지스터의 입력단에 도달하는 경로path2: 레지스터의 클럭 입력단->조합회로->레지스터 입력단paht3: 레지스터의 클럭 입력단->조합회로->출력포트path4: 레지스터 통과 X, 입력포트->조합회로->출력포트 정적 타이밍 분석(Static Timing Analysis)디지털 회로 내에 모든 가능한 경로에서 타이밍 위반이 있는지 확인하여 성능 검증회로의 모든 경로에 대해 입력 신호와는 무관하게 지연시간을 계산시뮬레이션 없이 수학적 분석을 통해 이루어짐동적 타..

12.4. AES암호 하드웨어 설계

Verilog를 통한 AES 암호 설계AES 암호 알고리즘은 암호화, 복호화 절차로 나뉨전체 모듈의 입력 및 출력 정보 정의 필요입력: 평문(plain text) 128 비트 및 키 128 비트출력 : AES-128암호화 연산 후 128비트 암호문(cipher text)HDL 설계 : Top module에서 평문 128비트, 키 128비트, 암호문 128비트 입출력 정의 키 확장 함수 설계 AES 암호 알고리즘 암호화 전체 모듈 중에 부분 모듈 설계 필요전체 모듈과 같이 부분 모듈과 입력과 출력을 정의키 확장 회로는 입출력 관점에서만 보면 128비트 정보를 입력받아 128X10비트를 출력하는 함수명세서에 정의한 수학적 표현을 해석한 후 소프트웨어 코드로 개발하고 HDL 코드로 개발위의 수도코드를 보고 수..

12.3. 암호 알고리즘 AES, LEA

AES(Advanced Encryption Standard): 미국 NIST 지정 블록 암호 표준LEA(Lightwight Encryption Algorithm): 국내 블록 암포 표준 암호AES 및 LEA 암호 주요 특징AES는 키 비트 크기에 따라 AES-128, AES-192, AES-256으로 나누어짐(숫자는 키 비트의 크기_AES와 LEA는 내부 구조는 다르지만 입출력은 동일한 구조 AES 암호 알고리즘 라운드 구조AES 암호는 비슷한 연산을 여러 라운드 반복 암호화 연산을 하여 암호문의 안전성 확보각 라운드에는 SubBytes, ShiftRows, MixColumns, AddRoundKey 연산 수행AES-128암호는 10라운드를 반복하여 암호문의 안전성 확보AES 명세서를 통한 알고리즘 파악..

카테고리 없음 2025.01.10

11.1 Hardware Security IP

IoT와 Hardware SecurityIoT 기기들은 AI와 결합하여 사용자의 개인적인 정보들을 취득하고 이를 스스로 학습하여 편리하느 기능을 제공Federated Learning과 같은 구조에서는 사용자의 개인적인 정보로 학습된 데이ㅌ가 제삼자에게 무분별하게 넘질 수 있음데이터를 안전하게 보호하기 위해 데이터의 암호화 및 복호화 필수표준 암호화 알고리즘인 AES(Advanced Encryption Standard)를 활용하여 데이터를 안전하게 보호데이터를 암호화하기 위해서는 Key가 필요한데 난수성을 지닌 참 난수 발생기(TRNG, True Random Number Generator) 나 PUF(Physically Unclonable Function) 등을 활용 양자 컴퓨팅 시대에서의 데이터 보호비대..

10.1. AI 가속기 설계 기술

AI 연산의 가속 방법곱셈-누적(Multiply and Accumulate, MAC)연산MAC 연산은 뉴런의 가중치와 입력값을 곱하고 그 결과를 누적하는 과적을 반복함(이는 신경망의 모든 계층에서 반복)MAC 연산이 걸리는 시간이 추론 속도를 크게 좌우함. MAC연산의 가속1) 전용 벡터 유닝 프로세싱 유닛이나 텐서 가속 유닛과 같은 하드웨어 모듈을 칩 상에 대량 집적하는 방식연산유닛의 대량 집적은 MAC 연산을 병렬로 수행할 수 있게하여 연산 속도를 극대화함.밑의 NVIDIA의 GPU 아키텍처는 매트릭스 연산에 특화된 구조로, 대규모 MAC 연산을 빠르게 수행할 수 있도록 설계 2) 데이터 재사용과 메모리 접근 효율을 극대화하는 방식MAC연산의 성능은 데이터 이동속도에도 크게 영향입력 데이터 가중치를 ..