์ „์ฒด ๊ธ€ 203

2021 DSC Korea ํ•ด์ปคํ†ค

โœ ๋‚˜์˜ ์ฒซ ์˜จ๋ผ์ธ ํ•ด์ปคํ†ค ์†”๋ฃจ์…˜ ์ฑŒ๋ฆฐ์ง€์ธ์ง€ ๊ทธ๋ƒฅ DSC ํ•ด์ปคํ†ค์ธ์ง€ ์•„์ง๋„ ์ด๋ฆ„์ด ํ—ท๊ฐˆ๋ฆฌ๋Š” ๋Œ€ํšŒ์ง€๋งŒ ์ผ์ฃผ์ผ์ด ๊ธˆ๋ฐฉ ์ง€๋‚˜๊ฐ€๊ณ  ์˜ค๋Š˜ ๋Œ€ํšŒ๊ฐ€ ๋๋‚ฌ๋‹ค. ์šฐ๋ฆฌ ํŒ€์€ 4์‹œ ๋ฐ˜์ฏค ๊นƒํ—ˆ๋ธŒ ์ฃผ์†Œ, ๋ฐœํ‘œ ์˜์ƒ์„ ์ œ์ถœํ–ˆ๋˜ ๊ฑฐ ๊ฐ™์€๋ฐ ๊ทธ ์ „๊นŒ์ง€๋Š” ๊ณ„์† CSS ์ˆ˜์ •ํ–ˆ๋‹ค. 86 contributinos = 1CSS ์ด๋ฒˆ ๋Œ€ํšŒ ์ฃผ์ œ๋Š” ์„ ํƒ ํญ์ด ๋„“์—ˆ์–ด์„œ ๊ด€์‹ฌ์žˆ๋Š” ์ฃผ์ œ๋ฅผ ๋น„์Šทํ•˜๊ฒŒ ์„ ํƒํ•œ ์‚ฌ๋žŒ๋“ค๋ผ๋ฆฌ ํŒ€ ๋งค์นญ์ด ์ด๋ฃจ์–ด์กŒ๋‹ค. ์šฐ๋ฆฌ ํŒ€์€ '๊ธฐํ›„ ๋ณ€ํ™” ๋Œ€์‘'์ด๋ผ๋Š” ์ฃผ์ œ๋กœ ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™” ์‚ฌ์ดํŠธ(๊นƒํ—ˆ๋ธŒ ํŽ˜์ด์ง€ ๋ฐฐํฌ ๊ธฐ๋Šฅ ์ด์šฉ)๋ฅผ ๋งŒ๋“ค์—ˆ๊ณ  ๋‚˜๋Š” ๊ธฐ์˜จ ์˜ˆ์ธก ๋ชจ๋ธ์„ ๋งก์•˜๋‹ค. ๋”ฅ๋Ÿฌ๋‹ ๊ฐ•์˜์™€ ์ด๋ก ๋งŒ ๊ณต๋ถ€ํ–ˆ์ง€ RNN์ด๋ผ๋Š” ์ž์ฒด๋ฅผ ํ”„๋กœ์ ํŠธ์— ์จ๋ณด๋Š” ๊ฒŒ ์ฒ˜์Œ์ด๋ผ์„œ ์ž˜ํ•  ์ˆ˜ ์žˆ์„๊นŒ ๊ฑฑ์ •์„ ๋งŽ์ด ํ–ˆ์—ˆ๋‹ค. 2~3์ผ ์ •๋„ ๋ชจ๋ธ ๋งŒ๋“œ๋Š” ๊ฑฐ๋งŒ ๋ถ™์žก๊ณ  ์žˆ์—ˆ๋”๋‹ˆ ๋‹คํ–‰ํžˆ ๊ธฐ..

Epilogue 2021.02.06

[TensorFlow] tf 2.x์—์„œ tf 1.x ์ฝ”๋“œ ์‹คํ–‰ํ•˜๊ธฐ

RNN์œผ๋กœ ์˜ˆ์ธก ๋ชจ๋ธ์„ ๋งŒ๋“œ๋ ค๊ณ  ์ฐพ์•„๋ณธ ์ฝ”๋“œ๊ฐ€ ํ…์„œํ”Œ๋กœ์šฐ 1.x๋กœ ๋ผ์žˆ๋Š” ๊ฒŒ ๋งŽ์•„์„œ ๊ตฌ๊ธ€๋ง ๊ฒฐ๊ณผ๋กœ ๋‚˜์˜จ ์‚ฌ์ดํŠธ์— ์•ˆ ๋“ค์–ด๊ฐ€๋ณธ ๋ฐ๊ฐ€ ์—†๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ๋˜ ํ•„์š”ํ•ด์งˆ ๋•Œ๋ฅผ ๋Œ€๋น„ํ•ด์„œ ๋‚ด๊ฐ€ ๊นŒ๋จน์ง€ ์•Š๊ธฐ ์œ„ํ•ด ์ •๋ฆฌํ•ด๋†“๋Š”๋‹ค. โญ ํ˜„์žฌ ์‚ฌ์šฉ ๋ฒ„์ „ : TensorFlow 2.4.0 ์ดˆ๊ธฐ ์„ค์ • โ—ฝ import tensorflow.compat.v1 as tf compatibility module์ธ tensorflow.compat ์ค‘์—์„œ 1.x ๋ฒ„์ „์„ ์˜๋ฏธํ•˜๋Š” v1 import โ—ฝ tf.compat.v1.disable_eager_execution() ํ…์„œํ”Œ๋กœ์šฐ 2.0์—์„œ ๊ธฐ๋ณธ์œผ๋กœ ์„ค์ •๋œ ์ฆ‰์‹œ ์‹คํ–‰(execution eagerly) ๋„๊ธฐ ๋ชจ๋“ˆ TensorFlow 1.x tensorflow.compat.v1 tf.contrib.r..

2021/1์›”ํ˜ธ

์›๋ž˜ ๊ณ„ํš์šฉ ์นดํ…Œ๊ณ ๋ฆฌ์— ๋งค๋‹ฌ ๋ชฉํ‘œ๋ฅผ ๋ช‡ ๊ฐœ์”ฉ ์ ์–ด๋†จ์—ˆ๋Š”๋ฐ ํ”ผ๋“œ๋ฐฑ ๋‹ฌ์•„๋†“๋Š” ๊ฑธ ์ž๊พธ ๊นŒ๋จน์–ด์„œ ํšŒ๊ณ ๋ก ๋Š๋‚Œ์œผ๋กœ ํ•œ๋‹ฌ์„ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ๋‚˜ ๊น€๋ณด๊ธˆ,, ์ปจ์…‰๊ณผ ํ†ต์ผ์„ฑ์— ๊ฝค ์ง„์‹ฌ์ธ ์‚ฌ๋žŒ์ด๊ธฐ ๋•Œ๋ฌธ์— ์นดํ…Œ๊ณ ๋ฆฌ ์ด๋ฆ„์— ๋งž๊ฒŒ ์ œ๋ชฉ์€ ์žก์ง€ ๋Š๋‚Œ์œผ๋กœ ๐ŸŒž ๊ฐœ์ธ ๊ณต๋ถ€ ๋ถ€์ŠคํŠธ์ฝ”์Šค ๋”ฅ๋Ÿฌ๋‹ ๊ธฐ์ดˆ ๊ฐ•์˜๋ฅผ ๋๋ƒˆ๋‹ค. ๋ถ€์ŠคํŠธ์ฝ”์Šค์—์„œ ์ œ๊ณตํ•ด์ฃผ๋Š” ํ”„๋กœ์ ํŠธ๋งŒ ๋‚จ์•„์žˆ๋Š”๋ฐ ๊ณ„์† ํ•ด์•ผ์ง€ ํ•ด์•ผ์ง€ ํ•˜๋‹ค๊ฐ€ ์ง€๊ธˆ๊นŒ์ง€ ๋ฏธ๋ค„ ๋ฒ„๋ ธ๋‹คใ…Žใ…Ž; ๊ฐœ๊ฐ• ์ „์—๋Š” ๊ผญ ํ”„๋กœ์ ํŠธ 3๊ฐœ ๋‹ค ์ œ์ถœํ•  ์ˆ˜ ์žˆ๊ธธ ๋ฐ”๋ž€๋‹ค. ์ธ๊ณต์ง€๋Šฅ ๋ถ„์•ผ ์ž์ฒด๊ฐ€ ๋„ˆ๋ฌด ๋ฐฉ๋Œ€ํ•ด์„œ ์ด์ œ ์ฒซ๋ฐœ์„ ๋—€ ๊ฑฐ์ง€๋งŒ ๊ทธ๋ž˜๋„ one-hot-encoding์ด ๋ญ”์ง€, Max pooling์ด ๋ญ”์ง€ ์ •๋„๋Š” ์•Œ๊ฒŒ ๋ผ์„œ ์ •~๋ง ์กฐ๊ธˆ ๋ฟŒ๋“ฏํ•œ ๋งˆ์Œ์ด ๋“ค๊ธด ํ•œ๋‹ค. ์ด ๋Š๋‚Œ์„ ์ญ‰ ๊ฐ€์ง€๊ณ  ๊ฐ€์•ผ์ง€ ์ž๋ฃŒ๊ตฌ์กฐ ์ฑ… ๋ณต์Šต์€ 1์›”์— ๋๋‚ด๊ธฐ๋กœ ํ–ˆ๋Š”๋ฐ ์•„..

Convolutional Neural Network

CNN - ์ด๋ฏธ์ง€ ๋ถ„๋ฅ˜์— ๋งŽ์ด ์‚ฌ์šฉ๋˜๋ฉฐ convolutional layer / pooling layer(์ƒ๋žตํ•˜๊ธฐ๋„ ํ•จ)๋กœ ๊ตฌ์„ฑ Convolutional layer ๐Ÿ“Œ ํ•„ํ„ฐ๋Š” ์ด๋ฏธ์ง€์˜ ํŠน์ง•์„ ์ฐพ์•„๋‚ด๊ธฐ ์œ„ํ•œ ๊ณต์šฉ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ kernel์ด๋ผ๊ณ  ๋ถ€๋ฅด๊ธฐ๋„ ํ•จ Stride - ํ•„ํ„ฐ ์ ์šฉ ๊ฐ„๊ฒฉ ex) stride=1 : 1์นธ์”ฉ ์ด๋™, stride=2 : 2์นธ์”ฉ ์ด๋™ Output - ์ž…๋ ฅ ๋ฐ์ดํ„ฐ ํฌ๊ธฐ, ํ•„ํ„ฐ ํฌ๊ธฐ, stride๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ 1+(์ž…๋ ฅ ํฌ๊ธฐ-ํ•„ํ„ฐ ํฌ๊ธฐ)/stride - output feature map ์ฑ„๋„ ์ˆ˜ = convolution ํ•„ํ„ฐ ์ˆ˜ ๐Ÿ“Œ ํ•ฉ์„ฑ๊ณฑ ์—ฐ์‚ฐ ์ˆ˜ํ–‰ ์‹œ ๊ฐ€์ค‘์น˜ ์ •ํ•˜๋Š” ๋ฒ• โ‘  ๋žœ๋ค ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™” โ‘ก ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋กœ ํ•™์Šต Padding - ํ•ฉ์„ฑ๊ณฑ ์—ฐ์‚ฐ ์ˆ˜ํ–‰ ์ „ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ ์ฃผ๋ณ€์„ ํŠน์ •..

[VSC] how to use C in vscode

1. code-runner, minGW ์„ค์น˜ 2. launch.json → program:""${fileDirname}/${fileBasenameNoExtension}.exe"๋กœ ์ˆ˜์ • 3. tasks.json "args" ๋ถ€๋ถ„ ์•„๋ž˜์ฒ˜๋Ÿผ ์ˆ˜์ • "args" : [ "-g", // ๋””๋ฒ„๊น…์„ ์œ„ํ•œ ๋ช…๋ น์–ด๋ผ์„œ ์„ ํƒ ์‚ฌํ•ญ "${file}", "-o", "${fileDirname}\\bin\\${fileBasenameNoExtension}.exe" ] 4. setting.json → code-runner.executorMap์—์„œ cpp ๋ฆฌ๋‹ค์ด๋ ‰์…˜ ์ง€์šฐ๊ธฐ

Logistic regression

Classification binary classification : variable is either 0 or 1 Logistic vs Linear - Logistic regression์„ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๋ฐ์ดํ„ฐ๋“ค์€ ์ด์‚ฐ์ (๊ตฌ๋ถ„์ด ๋ช…ํ™•ํ•จ) - Linear regression์€ ์—ฐ์†์  - 0, 1 ํ˜•ํƒœ๋กœ ๊ฐ’์„ ์–ป๊ณ  ์‹ถ์„ ๋•Œ Linear regression์€ ๋ฐ”๋กœ ์–ป์„ ์ˆ˜ ์—†๊ณ  ๋‹ค๋ฅธ ์‹์„ ํ•„์š”๋กœ ํ•จ Sigmoid(Logistic) function - ์ค‘๊ฐ„ ๊ฐ’์€ 0.5 - ๊ณ„๋‹จ ํ˜•์‹์˜ ํ•จ์ˆ˜๋ฅผ ๋ฏธ๋ถ„์ด ๊ฐ€๋Šฅํ•œ ๊ณก์„  ํ˜•ํƒœ๋กœ ๋ฐ”๊พธ์–ด์ฃผ๋Š” ์—ญํ•  - Binary classification → ๋งˆ์ง€๋ง‰ ๋ ˆ์ด์–ด ํ™œ์„ฑํ•จ์ˆ˜๋กœ ์‚ฌ์šฉ Decision Boundary - ์ด์ง„ ํด๋ž˜์Šค ๋˜๋Š” ๋‹ค์ค‘ ํด๋ž˜์Šค ๋ถ„๋ฅ˜ ๋ฌธ์ œ์—์„œ ๋ชจ๋ธ์ด ํ•™์Šตํ•œ ํด๋ž˜์Šค..

[Python] anaconda, tensorflow ์„ค์น˜

Tensorflow ๋ฒ„์ „๋งŒ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋ ค๋‹ค๊ฐ€ Anaconda๋ฅผ ์žฌ์„ค์น˜ํ•˜๋Š” ์‚ฌ๋žŒ์ด ์žˆ๋‹ค?! 1. Anaconda3 ๋‹ค์šด๋กœ๋“œ(www.anaconda.com/products/individual) 2. Anaconda3 ์„ค์น˜ ์„ค์น˜ ์ค‘๊ฐ„์— ์ด๋Ÿฐ ํ™”๋ฉด์ด ๋‚˜์˜ค๋Š”๋ฐ ๊ตฌ๊ธ€๋งํ•ด๋ณด๋ฉด ๋‘ ๊ฐœ ๋‹ค ์ฒดํฌํ•˜๊ณ  ์„ค์น˜ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•˜๋‹ค. ํ•˜์ง€๋งŒ ํ•„์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ผ ์˜ต์…˜์ด๊ธฐ๋„ ํ•˜๊ณ , ์ด๋ฏธ ์„ค์น˜๋œ ํŒŒ์ด์ฌ์ด๋ž‘ ๊ผฌ์ผ๊นŒ๋ด ๋‚œ ๋‘˜๋‹ค ์•ˆํ•˜๊ณ  ๋„˜์–ด๊ฐ”๋‹ค. ์ž˜ ์•ˆ๋˜๋ฉด ์ง€์šฐ๊ณ  ๋˜ ๊น”์ง€ ๋ญ ๐Ÿ˜Œ 3. jupyter notebook ์‹คํ–‰ ํ™•์ธ jupyter notebook ์ฐฝ์€ ์•Œ์•„์„œ ์—ด๋ฆฐ๋‹ค. cf. tensorflow ๊ณต์‹ ์‚ฌ์ดํŠธ ํ™•์ธ 4. conda ๊ฐ€์ƒ ํ™˜๊ฒฝ ์ƒ์„ฑ & ํ™œ์„ฑํ™” # create conda create --name ๊ฐ€์ƒํ™˜๊ฒฝ์ด๋ฆ„ python=์›ํ•˜๋Š” ..

[PyCharm] process finished with exit code 9009

์š”์ฆ˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ’€ ์‹œ๊ฐ„์ด ์•ˆ ๋‚˜์„œ ํŒŒ์ด์ฐธ ์ž์ฒด์— ์ •๋ง ์˜ค๋žœ๋งŒ์— ๋“ค์–ด๊ฐ”๋Š”๋ฐ Run ๋ฒ„ํŠผ์ด ์•„์˜ˆ ํ™œ์„ฑํ™”๊ฐ€ ์•ˆ๋ผ์žˆ์—ˆ๊ณ  ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์„ค์ • ๋“ค์–ด๊ฐ€์„œ ์ด๊ฒƒ์ €๊ฒƒ ๋งŒ์กŒ์Œ์—๋„ ! ํŒŒ์ด์ฐธ์€ ์ €๋Ÿฐ ์—๋Ÿฌ ๋ฌธ๊ตฌ๋ฅผ ๋„์›Œ์คฌ๋‹ค. ํ•ญ์ƒ ์—๋Ÿฌ ๊ธˆ๋ฐฉ ํ•ด๊ฒฐํ•  ์ค„ ์•Œ๊ณ  ์บก์ฒ˜๋ฅผ ์•ˆ ํ•˜๋Š”๋ฐ ์ด์ œ๋ถ€ํ„ฐ๋Š” ๋‹ค ๋‚จ๊ฒจ๋†”์•ผ๊ฒ ๋‹ค. ๋‚˜๋ฅผ ๋„ˆ๋ฌด ๋ฏฟ์ง€ ๋ง์ž ใ†ใ†ใ† ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ์ •๋ง ๊ฐ„๋‹จํ–ˆ๋Š”๋ฐ ํ•ด๊ฒฐํ•˜๊ธฐ๊นŒ์ง€ ๋„ˆ๋ฌด ๋Œ์•„๊ฐ€์„œ ๋‚ด๊ฐ€ ์‹œ๋„ํ•œ ๋ฐฉ๋ฒ•๊ณผ ๊ตฌ๊ธ€๋ง ๋‚ด์šฉ ์ •๋ฆฌ ! โ€ป ~ exit code 9009๋Š” No Python interpreter configured for the project ๋ฉ”์‹œ์ง€๋ž‘ ํ•จ๊ป˜ ๋œฌ๋‹ค. Step 0. cmd → python ๋ฒ„์ „ ํ™•์ธ ์ด ๊ณผ์ • ์—†์ด ํŒŒ์ด์ฐธ ์•ˆ์—์„œ๋งŒ ํ•ด๊ฒฐํ•˜๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ ๋‚˜์ค‘์— ํ™•์ธํ•˜๋‹ˆ๊นŒ ์ด์ƒํ•˜๊ฒŒ ๋œจ๊ธธ๋ž˜ ๊ทธ์ œ์„œ์•ผ ๋ญ”๊ฐ€ ์ž˜๋ชป๋๋‹ค๋Š” ๊ฑธ ๊ฐ์ง€ ..

Gradient descent

* ์‹ค์Šต ์†Œ์Šค ์ฝ”๋“œ : github.com/nsbg/AI Concept - ๊ฒฝ์‚ฌ๋ฅผ ๋”ฐ๋ผ ๋‚ด๋ ค๊ฐ€๋ฉด์„œ ์ตœ์ €์ ์„ ์ฐพ๋„๋ก ์„ค๊ณ„๋œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์ตœ์ ํ™” : ์ด๋“ ์ตœ๋Œ€ํ™”, ์†์‹ค ์ตœ์†Œํ™” - cost ํ•จ์ˆ˜์—์„œ cost๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” W, b๋ฅผ ์ฐพ๋Š” ๊ฒƒ How it works 1) ์ถ”์ •์„ ํ†ตํ•ด W, b ์„ค์ •(์–ด๋–ค ๊ฐ’์ด๋“  ์ƒ๊ด€์—†์Œ) 2) cost๊ฐ€ ์กฐ๊ธˆ์”ฉ ์ค„์–ด๋“ค๋„๋ก W, b ๊ฐ’ ์—…๋ฐ์ดํŠธ 3) ์ตœ์ €์ ์— ๋„๋‹ฌํ–ˆ๋‹ค๊ณ  ํŒ๋‹จ๋  ๋•Œ๊นŒ์ง€ ๊ณผ์ • 2) ๋ฐ˜๋ณต ∴ ๊ณก์„  ์ƒ์—์„œ ์ž„์˜์˜ ํ•œ ์ง€์ ์„ ์ •ํ•œ ํ›„ ์ด ์ ์—์„œ์˜ ๊ธฐ์šธ๊ธฐ(Gradient)๋ฅผ ๊ตฌํ•˜๊ณ , ๊ฐ€์ค‘์น˜ W์™€ ๊ธฐ์šธ๊ธฐ๋ฅผ ๊ณฑํ•œ ๊ฐ’์„ W์—์„œ ๋นผ์คฌ์„ ๋•Œ ๊ทธ ๊ฒฐ๊ณผ๊ฐ’์ด ๋‹ค์Œ ๊ฐ€์ค‘์น˜ W(์–ด๋–ค ์ ์—์„œ ์‹œ์ž‘ํ•ด๋„ ๊ฒฐ๊ณผ๊ฐ’์€ ๋™์ผ) Formal definition Batch(GPU๊ฐ€ ํ•œ๋ฒˆ์— ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ์ดํ„ฐ ๋ฌถ์Œ)..