-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathatom.xml
150 lines (80 loc) · 76.1 KB
/
atom.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Zone</title>
<link href="http://example.com/atom.xml" rel="self"/>
<link href="http://example.com/"/>
<updated>2023-12-13T11:56:42.599Z</updated>
<id>http://example.com/</id>
<author>
<name>Kegard</name>
</author>
<generator uri="https://hexo.io/">Hexo</generator>
<entry>
<title>Dynamic Adversarial Patch</title>
<link href="http://example.com/2023/12/13/DAP/"/>
<id>http://example.com/2023/12/13/DAP/</id>
<published>2023-12-13T07:25:25.000Z</published>
<updated>2023-12-13T11:56:42.599Z</updated>
<content type="html"><![CDATA[<h3 id="前言">前言</h3><p>Title:<code>Dynamic Adversarial Patch for Evading Object Detection Models</code></p><p>Subject: <code>arXiv-20</code></p><p>Link:[<a href="https://arxiv.org/abs/2010.13070">Paper</a>]</p><p>Keyword:<code>Adversarial Patches</code></p><h3 id="动机motivation">动机(Motivation)</h3><p>对抗补丁<code>(Adversarial Patches)</code>对于拍摄位置的改变不具有鲁棒性,同时,现有的对抗补丁不能应用于非平面物体。</p><p>本文提出<code>Dynamic Adversarial Patch</code>,将<code>Patches</code>放在目标预定位置,并通过对抗算法进行补丁生成。<code>Dynamic</code>主要是通过切换相机的角度优化<code>Patches</code>。</p><h3 id="方法method">方法(Method)</h3><p><img src="https://z1.ax1x.com/2023/12/13/pifDDR1.md.png#pic_center"></p><ol type="1"><li>为了模型真实世界中设备限制,使用 <code>random noise</code>改变<code>Patches</code>的 <code>brightness</code>和<code>contrast</code>,从而增强攻击的<code>Robustness</code></li><li>将<code>Patches</code> 应用于 <code>Img</code>,并且通过检测模型<code>YOLO</code> 计算 <code>loss</code>,并 最大化<code>Obj_loss</code> 和 <code>Cls_loss</code></li><li>为保证生成 <code>Patches</code>的平滑度,使用<code>tv_loss</code>进行限制</li></ol><p>其中<code>tv_loss(total variation)</code> 如下:</p><p><img src="https://z1.ax1x.com/2023/12/13/pifDvJs.png#pic_center"></p><p>为保证<code>car</code>的分类与原始的分类没有语义关联,从而最大程度扩大攻击效果,因此:</p><p><img src="https://z1.ax1x.com/2023/12/13/pifrpQ0.png#pic_center"></p><p>其中 <span class="math inline"><mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.05ex;" xmlns="http://www.w3.org/2000/svg" width="1.719ex" height="1.645ex" role="img" focusable="false" viewBox="0 -705 760 727"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D436" d="M50 252Q50 367 117 473T286 641T490 704Q580 704 633 653Q642 643 648 636T656 626L657 623Q660 623 684 649Q691 655 699 663T715 679T725 690L740 705H746Q760 705 760 698Q760 694 728 561Q692 422 692 421Q690 416 687 415T669 413H653Q647 419 647 422Q647 423 648 429T650 449T651 481Q651 552 619 605T510 659Q484 659 454 652T382 628T299 572T226 479Q194 422 175 346T156 222Q156 108 232 58Q280 24 350 24Q441 24 512 92T606 240Q610 253 612 255T628 257Q648 257 648 248Q648 243 647 239Q618 132 523 55T319 -22Q206 -22 128 53T50 252Z"></path></g></g></g></svg></mjx-container></span> 表示与 <code>car</code>有语义关联的类别的集合,通过计算 <span class="math inline"><mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.65ex;" xmlns="http://www.w3.org/2000/svg" width="6.093ex" height="2.347ex" role="img" focusable="false" viewBox="0 -750 2693.3 1037.2"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="msub"><g data-mml-node="mi"><path data-c="1D453" d="M118 -162Q120 -162 124 -164T135 -167T147 -168Q160 -168 171 -155T187 -126Q197 -99 221 27T267 267T289 382V385H242Q195 385 192 387Q188 390 188 397L195 425Q197 430 203 430T250 431Q298 431 298 432Q298 434 307 482T319 540Q356 705 465 705Q502 703 526 683T550 630Q550 594 529 578T487 561Q443 561 443 603Q443 622 454 636T478 657L487 662Q471 668 457 668Q445 668 434 658T419 630Q412 601 403 552T387 469T380 433Q380 431 435 431Q480 431 487 430T498 424Q499 420 496 407T491 391Q489 386 482 386T428 385H372L349 263Q301 15 282 -47Q255 -132 212 -173Q175 -205 139 -205Q107 -205 81 -186T55 -132Q55 -95 76 -78T118 -61Q162 -61 162 -103Q162 -122 151 -136T127 -157L118 -162Z"></path></g><g data-mml-node="mi" transform="translate(523,-150) scale(0.707)"><path data-c="1D703" d="M35 200Q35 302 74 415T180 610T319 704Q320 704 327 704T339 705Q393 701 423 656Q462 596 462 495Q462 380 417 261T302 66T168 -10H161Q125 -10 99 10T60 63T41 130T35 200ZM383 566Q383 668 330 668Q294 668 260 623T204 521T170 421T157 371Q206 370 254 370L351 371Q352 372 359 404T375 484T383 566ZM113 132Q113 26 166 26Q181 26 198 36T239 74T287 161T335 307L340 324H145Q145 321 136 286T120 208T113 132Z"></path></g></g><g data-mml-node="mo" transform="translate(904.6,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="msub" transform="translate(1293.6,0)"><g data-mml-node="mi"><path data-c="1D465" d="M52 289Q59 331 106 386T222 442Q257 442 286 424T329 379Q371 442 430 442Q467 442 494 420T522 361Q522 332 508 314T481 292T458 288Q439 288 427 299T415 328Q415 374 465 391Q454 404 425 404Q412 404 406 402Q368 386 350 336Q290 115 290 78Q290 50 306 38T341 26Q378 26 414 59T463 140Q466 150 469 151T485 153H489Q504 153 504 145Q504 144 502 134Q486 77 440 33T333 -11Q263 -11 227 52Q186 -10 133 -10H127Q78 -10 57 16T35 71Q35 103 54 123T99 143Q142 143 142 101Q142 81 130 66T107 46T94 41L91 40Q91 39 97 36T113 29T132 26Q168 26 194 71Q203 87 217 139T245 247T261 313Q266 340 266 352Q266 380 251 392T217 404Q177 404 142 372T93 290Q91 281 88 280T72 278H58Q52 284 52 289Z"></path></g><g data-mml-node="mi" transform="translate(605,-150) scale(0.707)"><path data-c="1D45D" d="M23 287Q24 290 25 295T30 317T40 348T55 381T75 411T101 433T134 442Q209 442 230 378L240 387Q302 442 358 442Q423 442 460 395T497 281Q497 173 421 82T249 -10Q227 -10 210 -4Q199 1 187 11T168 28L161 36Q160 35 139 -51T118 -138Q118 -144 126 -145T163 -148H188Q194 -155 194 -157T191 -175Q188 -187 185 -190T172 -194Q170 -194 161 -194T127 -193T65 -192Q-5 -192 -24 -194H-32Q-39 -187 -39 -183Q-37 -156 -26 -148H-6Q28 -147 33 -136Q36 -130 94 103T155 350Q156 355 156 364Q156 405 131 405Q109 405 94 377T71 316T59 280Q57 278 43 278H29Q23 284 23 287ZM178 102Q200 26 252 26Q282 26 310 49T356 107Q374 141 392 215T411 325V331Q411 405 350 405Q339 405 328 402T306 393T286 380T269 365T254 350T243 336T235 326L232 322Q232 321 229 308T218 264T204 212Q178 106 178 102Z"></path></g></g><g data-mml-node="mo" transform="translate(2304.3,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g></g></g></svg></mjx-container></span> 与<span class="math inline"><mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.464ex;" xmlns="http://www.w3.org/2000/svg" width="1.848ex" height="1.464ex" role="img" focusable="false" viewBox="0 -442 817 647"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="msub"><g data-mml-node="mi"><path data-c="1D466" d="M21 287Q21 301 36 335T84 406T158 442Q199 442 224 419T250 355Q248 336 247 334Q247 331 231 288T198 191T182 105Q182 62 196 45T238 27Q261 27 281 38T312 61T339 94Q339 95 344 114T358 173T377 247Q415 397 419 404Q432 431 462 431Q475 431 483 424T494 412T496 403Q496 390 447 193T391 -23Q363 -106 294 -155T156 -205Q111 -205 77 -183T43 -117Q43 -95 50 -80T69 -58T89 -48T106 -45Q150 -45 150 -87Q150 -107 138 -122T115 -142T102 -147L99 -148Q101 -153 118 -160T152 -167H160Q177 -167 186 -165Q219 -156 247 -127T290 -65T313 -9T321 21L315 17Q309 13 296 6T270 -6Q250 -11 231 -11Q185 -11 150 11T104 82Q103 89 103 113Q103 170 138 262T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287Z"></path></g><g data-mml-node="mi" transform="translate(523,-150) scale(0.707)"><path data-c="1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></g></g></g></g></svg></mjx-container></span>的<code>loss</code>,最大化攻击威胁。</p><h3 id="结果result">结果(Result)</h3><p><strong>Patches 检测可视化结果</strong></p><p><img src="https://z1.ax1x.com/2023/12/13/pifrwm8.md.png#pic_centepic_center"></p><p><strong>攻击结果</strong></p><p><img src="https://z1.ax1x.com/2023/12/13/pifr260.png#pic_center"></p><h3 id="总结conclusion">总结(Conclusion)</h3><ol type="1"><li>通过对不同角度的相机位置的研究,形成<code>dynamic</code>的对抗样本</li><li>在不同的车辆模型上进行实验,证明攻击可以迁移到不同的车辆上</li><li>在模型之间,如<code>faster rcnn</code> 和 <code>yolov2</code>之间没有迁移性,也许同时优化不同模型的目标函数可以提高鲁棒性。</li><li>从语义相似性角度,使得<code>car</code>被识别为其他的语义差距巨大的类别,从而最大化攻击威胁</li></ol>]]></content>
<summary type="html"><h3 id="前言">前言</h3>
<p>Title:<code>Dynamic Adversarial Patch for Evading Object Detection Models</code></p>
<p>Subject: <code>arXiv-20</co</summary>
<category term="Adversarial attack" scheme="http://example.com/categories/Adversarial-attack/"/>
<category term="papernotes" scheme="http://example.com/tags/papernotes/"/>
</entry>
<entry>
<title>Hexo-Latex</title>
<link href="http://example.com/2023/12/12/Hexo-Latex/"/>
<id>http://example.com/2023/12/12/Hexo-Latex/</id>
<published>2023-12-12T15:12:35.000Z</published>
<updated>2023-12-13T02:01:40.130Z</updated>
<content type="html"><![CDATA[<h3 id="前言">前言</h3><p>使用<code>Hexo</code>创建博客后,难免会遇到公式的书写问题。但是本地<code>Typora</code>的公式渲染无法直接在博客中显示出来,主要原因是<code>Hexo</code>默认使用的渲染器不支持latex公式,因此需要更换渲染器(<code>hexo-renderer-pandoc</code>),并且进行后续的一系列操作。</p><h3 id="操作流程">操作流程</h3><ol type="1"><li><p>卸载默认公式渲染器</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">npm un hexo-math</span><br><span class="line">npm un hexo-renderer-marked</span><br></pre></td></tr></table></figure></li><li><p><code>npm</code>加速下载(可选)</p><p>使用<code>npm</code> 镜像</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">npm config <span class="built_in">set</span> registry https://registry.npmmirror.com</span><br></pre></td></tr></table></figure><p>查看当前镜像源</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">npm config get registry</span><br></pre></td></tr></table></figure><p>返回官方原始镜像源</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">npm config <span class="built_in">set</span> registry https://registry.npmjs.org/</span><br></pre></td></tr></table></figure></li><li><p>安装新的公式渲染器即插件</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">npm i hexo-renderer-pandoc</span><br></pre></td></tr></table></figure><p>这步可以视具体情况而定,但是如果遗漏<strong>可能</strong>会没办法正确显示公式</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">npm i hexo-filter-mathjax</span><br></pre></td></tr></table></figure></li><li><p>配置文件更改(<code>eg:\themes\butterfly\ _config.yml</code>)</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line"><span class="comment"># Math (數學)</span></span><br><span class="line"><span class="comment"># --------------------------------------</span></span><br><span class="line"><span class="comment"># About the per_page</span></span><br><span class="line"><span class="comment"># if you set it to true, it will load mathjax/katex script in each page (true 表示每一頁都加載js)</span></span><br><span class="line"><span class="comment"># if you set it to false, it will load mathjax/katex script according to your setting (add the 'mathjax: true' in page's front-matter)</span></span><br><span class="line"><span class="comment"># (false 需要時加載,須在使用的 Markdown Front-matter 加上 mathjax: true)</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># MathJax</span></span><br><span class="line">mathjax:</span><br><span class="line"> <span class="built_in">enable</span>: <span class="literal">true</span> <span class="comment"># 将此处更改为true,并且在每个md文件前面加上mathjax:true</span></span><br><span class="line"> per_page: <span class="literal">false</span> </span><br><span class="line"></span><br><span class="line"><span class="comment"># KaTeX</span></span><br><span class="line">katex:</span><br><span class="line"> <span class="built_in">enable</span>: <span class="literal">false</span></span><br><span class="line"> per_page: <span class="literal">false</span></span><br><span class="line"> hide_scrollbar: <span class="literal">true</span></span><br></pre></td></tr></table></figure><p><code>Markdown</code>文件开头如下:</p><figure class="highlight markdown"><table><tr><td class="code"><pre><span class="line">---</span><br><span class="line">title: Hexo-Latex</span><br><span class="line">author: Kegard</span><br><span class="line">date: 2023-12-12 23:12:35</span><br><span class="line">tags: Hexo</span><br><span class="line">categories: Hexo</span><br><span class="line"><span class="section">mathjax: true</span></span><br><span class="line"><span class="section">---</span></span><br></pre></td></tr></table></figure></li><li><p>本地安装<code>pandoc</code></p><p>执行完上述步骤,直接进行 <code>hexo g</code> 时,出现错误<code>pandoc exited with code null</code>,需要在本地安装<code>pandoc</code>[<a href="https://www.pandoc.org/installing.html">官方下载地址</a>]</p><p>下载安装包:<code>pandoc-3.1.9-windows-x86_64.msi</code></p><p>测试安装是否成功:<code>win</code> + <code>r</code> <code>cmd</code> <code>pandoc -v</code>, 出现以下命令表示安装成功</p><figure class="highlight shell"><table><tr><td class="code"><pre><span class="line">pandoc 3.1.9</span><br><span class="line">Features: +server +lua</span><br><span class="line">Scripting engine: Lua 5.4</span><br><span class="line">User data directory: C:\Users\31793\AppData\Roaming\pandoc</span><br><span class="line">Copyright (C) 2006-2023 John MacFarlane. Web: https://pandoc.org</span><br><span class="line">This is free software; see the source for copying conditions. There is no</span><br><span class="line">warranty, not even for merchantability or fitness for a particular purpose.</span><br></pre></td></tr></table></figure></li><li><p>重启<code>git bash</code></p></li></ol><h3 id="结语">结语</h3><p>是否支持<code>Latex</code>语法与<code>Hexo</code>应用主题无关,根本原因还是在于<code>Hexo</code>默认的公式渲染器。</p><p>上述操作解决本人在使用行内公式的渲染问题,但是具体其他的公式无法显示的问题能否解决,有待考察。</p>]]></content>
<summary type="html">Hexo中关于Latex公式渲染的解决方法</summary>
<category term="Hexo" scheme="http://example.com/categories/Hexo/"/>
<category term="Hexo" scheme="http://example.com/tags/Hexo/"/>
</entry>
<entry>
<title>Java</title>
<link href="http://example.com/2023/12/12/Java/"/>
<id>http://example.com/2023/12/12/Java/</id>
<published>2023-12-12T14:16:30.000Z</published>
<updated>2023-12-13T11:54:53.147Z</updated>
<content type="html"><![CDATA[<h3 id="前言">前言</h3><p>由于面临找工作困境,结合大环境和自身分析,暂定目标岗位为<code>java</code>后端开发,因此快速学习一下<code>java</code>基础语法。</p><h3 id="基础语法">基础语法</h3><ol type="1"><li>数据类型包括基本数据类型和引用数据类型,强制转换使用小括号</li><li>引用数据类型就是可以被引用的数据类型,包括字符串、</li></ol><h3 id="面对对象">面对对象</h3><h4 id="内存">内存</h4><ol type="1"><li>Java中的存储空间,栈中间储存函数和变量,堆中储存对象,元空间储存类的信息。</li><li>堆中保存的是实例对象的成员属性,元空间中储存的是类的静态属性。</li><li>先有类再有对象,因此成员函数中可以调用静态函数,但是静态函数不允许调用成员函数</li><li>类的信息加载完成后,会自动调用静态代码块,可以完成静态属性的初始化功能</li></ol><h4 id="包">包</h4><ol type="1"><li>包,容纳类,主要用于功能分类,包含上下级关系</li><li>创建对象时,可以使用类的相对路径来准确调用</li></ol><h4 id="继承与多态">继承与多态</h4><ol type="1"><li>继承 Extends</li><li>类的继承只能单继承,只能有一个父类,不能有多个父类</li><li>super和this 分别表示调用父类的成员变量和子类的成员变量</li><li>对于一个父类,创建子类n次,那么父类也需要相对应的创建n次,每个不同的子类对应的父类对象不一样</li><li>多态,一个对象在不同场景下表现出来的不同状态,但是对使用场景进行了约束</li></ol><h4 id="重写与重载">重写与重载</h4><ol type="1"><li>方法名相同、参数列表不相同,会认为是不同的方法,这就是重载</li><li>如果子类对象需要在特殊场合使用父类方法,那么就需要重写方法,重写要求子类和父类的方法名字相同,返回值类型相同,参数列表相同。</li></ol><h4 id="枚举">枚举</h4><ol type="1"><li>枚举是特殊的类,包含特定对象,且对象不会改变,使用关键字<code>enum</code>,对象一般是用大写标识符</li><li>枚举可以使用构造函数进行构造,枚举类会将对象放置在对前面</li><li>枚举类不能创建对象,他的对象是在内部自行创建</li></ol><h4 id="匿名类">匿名类</h4><ol type="1"><li>匿名类,在一些场合,类的名字不重要,主要是使用类的方法或者功能,因此可以使用匿名类,</li><li>使用匿名类,减少重复操作,接口也可以使用匿名类,具体实现就是在创建对象的时候直接实现抽象类中的方法即可</li><li>Bean类的设计规范,必须含有无参、公共的构造方法,属性必须私有化,然后提供公共的set、get方法</li></ol><h3 id="常见类和对象">常见类和对象</h3><h4 id="object">Object</h4><ol type="1"><li><p><code>toString()</code>默认打印对象的内存地址,输出的是十六进制,也可以使用<code>hashCode()</code>,输出结果十进制</p></li><li><p><code>equals()</code>判断两个对象是否相等,比较对象的时候,默认比较的是内容地址</p></li><li><p><code>getSimplename()</code> 获取对象的类型信息</p></li></ol><h4 id="数组">数组</h4><ol type="1"><li><类型> [] <名称>= new <类型>[size] ;</li><li><code>Boolean</code> 类型数组默认值是<code>false</code>,<code>Object</code>数组和字符串数组默认值是<code>NULL</code></li><li><code>java</code>中按值传递指的是在调用参数的时候,将实际参数复制一份传递到函数中,这样在函数中对参数进行修改,不会影响到原来的实际参数</li><li>引用传递指的是将实际参数的地址直接传递到函数中,函数对参数的修改会影响原来的实际参数</li><li>一般来说,对于基础数据类型变量,使用按值传递,对于对象变量,使用的是引用传递。但是实际上二者本质相同,区别就是基础数据类型变量的值是数字和布尔值,而对象引用变量的值是对象的地址。</li></ol><h4 id="字符串">字符串</h4><ol type="1"><li><p>字符串是连续的字符组成的整体</p></li><li><p>字符可以使用<code>ASCII</code>码来表示字符,<code>ASCII</code>码使用一个字节表示。</p></li><li><p><code>java</code>使用new构造字符串和直接赋值字符串的方式在底层实现不同。</p></li><li><p>连续的字符数组可以转换为字符串</p><figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="type">char</span> <span class="variable">cs</span> <span class="operator">=</span>{<span class="string">'a'</span>,<span class="string">'b'</span>,<span class="string">'b'</span>};</span><br><span class="line"><span class="type">String</span> <span class="variable">s</span> <span class="operator">=</span> <span class="keyword">new</span> <span class="title class_">String</span>(cs);</span><br></pre></td></tr></table></figure></li><li><p>字符串拼接相当于创建新的字符串,并且新的字符串与原来的字符串内存地址不一样。</p></li><li><p>字符串的比较,采用Object中比较的成员方法<code>a.equals(b)</code></p></li><li><p>字符串的截取,<code>s.substr(straIndex,endIndex)</code>,不包含最后的索引</p></li><li><p>字符串的截取,<code>s.split()</code></p></li><li><p>字符串的去空格,<code>s.strim()</code>,去除字符串的首尾空格</p></li><li><p>字符串的替换,<code>s.replace()</code>或者<code>s.replaceAll()</code></p></li><li><p>字符串的大小写转换 <code>s.toLowerCase()</code> 或者<code>s.toUpperCase()</code></p></li><li><p>字符串的查找 <code>s.charAt(i);</code></p></li><li><p>使用<code>StringBuilder</code>对字符串进行拼接,本质上是使用底层数组完成字符串的拼接</p><figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="type">StringBuilder</span> <span class="variable">s</span> <span class="operator">=</span> <span class="keyword">new</span> <span class="title class_">StringBuilder</span>();</span><br><span class="line"><span class="keyword">for</span>(<span class="type">int</span> i=<span class="number">0</span>;i<<span class="number">100</span>;++i){</span><br><span class="line"> s.append(i);</span><br><span class="line"> }</span><br><span class="line">System.out.println(s.toString());</span><br></pre></td></tr></table></figure></li></ol><h4 id="引用数据类型">引用数据类型</h4><ol type="1"><li>内置的八种数据类型<code>byte、short、int、long、float、double、char、boolean</code>并没有对应的属性和方法,因此可以将其进行扩展,使用包装类来实现更多的功能。</li><li>自动装箱和自动拆箱</li><li>日期类与日历类的使用</li><li>工具类不应该创建对象才能使用,这也就意味着可以直接使用类中的属性和方法,一般都声明为静态的</li><li>工具类对外提供的属性或者方法都应该是公共的</li><li><code>hashcode()</code>主要是获得对象散列地址,并非实际的内存地址,因此<code>hashcode()</code>相等无法证明两个对象为同一个对象,因此使用<code>System.identityHashCode()</code>查看实际的内存地址</li><li><code>Integer</code>类中提前将(-128,127)储存到<code>caffe</code>中,因此当数值相同时,即使对象不同,其内存地址也是相等的</li><li>对于引用类型的比较,都需要使用<code>equals()</code>进行比较,使用<code>==</code>比较的是对象的内存地址</li></ol><h3 id="异常">异常</h3><ol type="1"><li><p>异常分为两类,可以通过代码恢复正常逻辑执行的异常(运行期异常)、不能通过恢复代码恢复的异常(编译器异常),前者是<code>RuntimeException()</code>,后者是<code>Exception()</code></p></li><li><p>错误不是异常,是与异常并列的。<code>Error()</code></p></li><li><p>异常处理语法,和<code>swich()</code>比较相似</p><figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">try</span>{</span><br><span class="line"> <span class="comment">//可能会出现的异常的代码</span></span><br><span class="line"> <span class="comment">//如果出现异常,那么JVM会将异常进行封装,形成一个具体的异常类,然后将这个异常抛出</span></span><br><span class="line"> <span class="comment">//所有异常对象都可以被抛出</span></span><br><span class="line">}<span class="keyword">catch</span>(<span class="comment">/*抛出的异常对象,对象引用*/</span>){</span><br><span class="line"><span class="comment">//异常的解决方案</span></span><br><span class="line">}<span class="keyword">finally</span>{</span><br><span class="line"> <span class="comment">//最终执行的代码逻辑</span></span><br><span class="line">}</span><br></pre></td></tr></table></figure></li><li><p>如果方法中可能会出现问题,那么需要提前声明,此时就需要关键字throws。如果需要手动抛出异常对象,那么需要使用throw关键字,然后new出异常</p></li></ol><p></p><h3 id="集合">集合</h3><ol type="1"><li>集合可以分为单一数据体系和成对出现的数据体系</li><li>Collection接口中常用的子接口包括<code>List、Set、Queue</code>,其中<code>List</code>的具体实现包括<code>ArrayList</code>和<code>Linked List</code>,Set的具体实现类包括<code>Hashset</code>,<code>Queuen</code>的具体实现类包括<code>ArrayBlockingQueue</code></li><li>Map接口中常用的具体实现包括<code>HashMap</code>和<code>HashTable</code></li></ol><h4 id="arraylist"><code>ArrayList</code></h4><ol type="1"><li>增加数据 <code>add(value)</code></li><li>获取指定位置的数据,采用索引方式 <code>get(index)</code></li><li>修改指定位置数据 <code>set(index,value)</code></li><li>删除数据 <code>remove(index)</code></li><li>扩容机制:<code>ArrayList</code>底层是数组实现,扩容可以分为两种情况<ol type="1"><li>当<code>ArrayList</code>容量是0的时候,此时添加元素需要扩容,不同的构造方法对应不同的扩容策略:<ol type="1"><li>无参构造,创建<code>ArrayList</code>后容量为0,添加第一个元素后,容量变为10,此后若需要扩容,则正常扩容。</li><li>传容量构造,当参数为0时,创建<code>ArrayList</code>后容量为0,添加第一个元素后,容量为1,此时<code>ArrayList</code>是满的,下次添加元素时需正常扩容。</li><li>传列表构造,当列表为空时,创建<code>ArrayList</code>后容量为0,添加第一个元素后,容量为1,此时<code>ArrayList</code>是满的,下次添加元素时需正常扩容。</li></ol></li><li>当<code>ArrayList</code>的容量大于0,并且<code>ArrayList</code>是满的时,此时添加元素的话,进行正常扩容,每次扩容到原来的1.5倍。</li></ol></li><li>插入参数 <code>add(index,value)</code></li><li>添加集合 <code>add(list)</code></li><li>获取数据在数据中的索引号 <code>indexOf(value)</code></li></ol><h4 id="linkedlist"><code>LinkedList</code></h4><ol type="1"><li>添加元素 <code>add()</code></li><li>在头部添加元素 <code>addFirst()</code></li><li>在尾部添加元素 <code>addLast()</code></li></ol><h4 id="泛型">泛型</h4><ol type="1"><li><p>用于约束外部对象的使用场景,就是类型;用于约束内部对象的使用场景,就是泛型。</p></li><li><p>泛型基础语法</p></li><li><p>比较器其实也使用了泛型</p><figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">public</span> <span class="type">int</span> <span class="title function_">compare</span><span class="params">(Integer o1,Integer o2)</span>{</span><br><span class="line"><span class="comment">// 如果第一个数比第二个数大,那么返回结果为正数,表示升序</span></span><br><span class="line"> <span class="keyword">return</span> o1-o2;</span><br><span class="line"><span class="comment">// 如果第一个数比第二个数小,那么返回结果为负数,表示降序</span></span><br><span class="line"> <span class="keyword">return</span> o2-o1;</span><br><span class="line"><span class="comment">//如果第一个数与第二个数一样大,那么返回零,</span></span><br><span class="line"> <span class="keyword">return</span> <span class="number">0</span>;</span><br><span class="line">}</span><br></pre></td></tr></table></figure></li></ol><h4 id="hashset"><code>HashSet</code></h4><ol type="1"><li>增加数据 <code>add(value)</code></li><li>删除数据 <code>remove(value)</code></li><li>查询数据 <code>set只能遍历查询</code></li><li>转换为数组 <code>toArray()</code></li><li>清空元素 <code>clear()</code></li><li><code>HashSet</code>判断元素不同的标准:<code>HashCode</code>不同,所以即使对象的属性相同,<code>Hashcode</code>不同,<code>HashSet</code>会认为其是两个元素。</li><li><code>HashSet</code>底层数据是数组+链表,</li></ol><h4 id="queue"><code>Queue</code></h4><ol type="1"><li><code>ArrayBlockingQueue</code> 数组+阻塞队列</li><li>添加元素 <code>add()</code> 当超过容量之后,会直接报错</li><li>添加元素 <code>put()</code>超过容量之后,会直接堵塞,程序不会继续运行</li><li>添加元素 <code>offer()</code></li><li>抛出元素 <code>poll()</code></li></ol><h4 id="hashmap"><code>HashMap</code></h4><ol type="1"><li>添加数据 <code>put(k,v)</code></li><li>查询数据 <code>get(k)</code></li><li>删除数据 <code>remove(k)</code></li><li>不覆盖添加数据 <code>putIfAbsent(k,v)</code></li><li>修改数据 <code>replace(k,v)</code></li><li>获取所有key值 <code>keySet()</code></li><li>获得所有的value值 <code>values()</code></li></ol><h4 id="hashtable"><code>HashTable</code></h4><ol type="1"><li><code>Table</code>和<code>Map</code>的实现方式不一样;继承的父类不一样,而且<code>Map</code>的<code>(k,v)</code>都可以为空</li><li><code>Map</code>的数据定位是哈希算法,Table采用的就是<code>HashCode</code></li></ol><h4 id="迭代器">迭代器</h4><ol type="1"><li>遍历<code>hashmap</code>时,可以使用迭代器进行遍历,并且进行删除修改操作</li></ol><h4 id="问题总结">问题总结</h4><ol type="1"><li><code>print</code>数组的时候,直接输出数组得到的是内存地址,可以将其转换为字符串再进行<code>print</code></li></ol><h3 id="io">IO</h3><figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="type">File</span> <span class="variable">file</span> <span class="operator">=</span> <span class="keyword">new</span> <span class="title class_">File</span>(path);</span><br><span class="line"><span class="comment">//判断是否是文件</span></span><br><span class="line">file.isFile();</span><br><span class="line"><span class="comment">//创建多级文件目录</span></span><br><span class="line">file.mkdirs();</span><br><span class="line"><span class="comment">//创建新的文件夹</span></span><br><span class="line">file.createNewFile();</span><br></pre></td></tr></table></figure><ol type="1"><li><code>java</code>中对于文件可以自动生成</li><li>缓冲流、字符流、序列化</li></ol><h3 id="线程">线程</h3><ol type="1"><li><p>编译过程 <code>javac</code> 指令,生成字节码class</p></li><li><p>Java程序在运行的时候默认产生一个进程,这个进程会有一个主线程,代码都在主线程中执行</p></li><li><p>创建线程</p><figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="comment">//TODO 创建线程</span></span><br><span class="line"><span class="type">MyTread</span> <span class="variable">t</span> <span class="operator">=</span> <span class="keyword">new</span> <span class="title class_">MyTread</span>();</span><br><span class="line"></span><br><span class="line"><span class="comment">//TODO 启动线程</span></span><br><span class="line">t.start();</span><br></pre></td></tr></table></figure></li><li><p>并发:多线程之间彼此独立,互不影响</p></li><li><p>串行:多个线程连接成线,顺序执行</p><figure class="highlight cpp"><table><tr><td class="code"><pre><span class="line">Tread t1 = <span class="keyword">new</span> <span class="built_in">Tread</span>();</span><br><span class="line">Tread t2 = <span class="keyword">new</span> <span class="built_in">Tread</span>();</span><br><span class="line"><span class="comment">//并发</span></span><br><span class="line">t1.<span class="built_in">start</span>();</span><br><span class="line">t2.<span class="built_in">start</span>();</span><br><span class="line"><span class="comment">//串行</span></span><br><span class="line">t1.<span class="built_in">join</span>();</span><br><span class="line">t2.<span class="built_in">join</span>();</span><br></pre></td></tr></table></figure></li><li><p>休眠</p><figure class="highlight java"><table><tr><td class="code"><pre><span class="line">Thread.slppe(<span class="number">1000</span>);</span><br></pre></td></tr></table></figure></li><li><p>快速传递逻辑</p><figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="type">Thread</span> <span class="variable">T</span> <span class="operator">=</span> <span class="keyword">new</span> <span class="title class_">Thread</span>(() -> {</span><br><span class="line"> System.out.println(<span class="string">"逻辑传递"</span>);</span><br><span class="line">});</span><br><span class="line">T.start();</span><br></pre></td></tr></table></figure></li><li><p>线程池,就是线程对象的容器,根据需求在启动时可以创建一个或者多个线程对象,Java中常见的线程池包括4种</p><figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="comment">//TODO 固定数量线程池</span></span><br><span class="line"><span class="comment">//executorService是线程服务对象</span></span><br><span class="line"><span class="type">ExecutorService</span> <span class="variable">executorService</span> <span class="operator">=</span> Executors.newFixedThreadPool(<span class="number">3</span>);</span><br><span class="line"></span><br><span class="line"><span class="comment">//根据需求动态创建线程</span></span><br><span class="line"><span class="type">ExecutorService</span> <span class="variable">executorService</span> <span class="operator">=</span> Executors.newCachedThreadPool();</span><br><span class="line"></span><br><span class="line"><span class="comment">//单一线程,隐含线程顺序</span></span><br><span class="line"><span class="type">ExecutorService</span> <span class="variable">executorService</span> <span class="operator">=</span> Executors.newSingleThreadExecutor();</span><br><span class="line"></span><br><span class="line"><span class="comment">//定时调度线程,可以自定义调度时间</span></span><br><span class="line"><span class="type">ExecutorService</span> <span class="variable">executorService</span> <span class="operator">=</span> Executors.newScheduledThreadPool(<span class="number">3</span>)</span><br></pre></td></tr></table></figure><ol start="9" type="1"><li><code>synchronized</code>同步关键字,多个线程访问同步方法的时候,只能一个一个访问,同步操作;修饰代码块,使得代码块成为同步代码块。</li><li><code>synchronized</code>具有原子性、可见性和有序性</li><li><figure><imgsrc="https://pic3.zhimg.com/80/v2-92f473a0d68aaf40002ebb774c015d16_720w.webp#pic_cent"alt="img" /><figcaption aria-hidden="true">img</figcaption></figure></li><li>同步理解如下,对于一个对象<code>x=0</code>,线程A第一次访问时,由于本地内存中没有<code>x</code>,需要将其从主内存缓存到本地内存A中,进行更改<code>x=1</code>,并将其放回到主内存中;线程B第一次访问则将<code>x=1</code>读入本地内容B中,并修改为<code>x=2</code>然后放回主内存中。线程A<code>第二次访问x</code>时,由于本地内存A中存在,则会直接是使用本地内存中<code>x=1</code>,因此会出现内存不可见的问题。</li><li><code>wait()</code>需要等待其他进程释放资源之后,线程才能够继续进行,属于被迫性的阻塞</li><li><code>sleep()</code> 线程自动的休眠,主动性的阻塞</li><li><code>wait()</code>Object类中的成员方法,因此每一个对象都会有wait方法;必须在同步代码块中才能使用;如果执行<code>wait()</code>方法,其他线程可以执行当前的同步操作</li><li><code>sleep()</code>Thread类中的静态方法,在任意情况下都可以使用,其他线程不能执行当前的同步操作。</li><li><code>java</code>对每一个线程创建一个栈内存,但是对于每一个对象,在堆中开辟新的空间。因此,在多个线程并发执行的时候,修改共享内存中对象的属性,会导致数据冲突问题。</li></ol></li></ol><h3 id="反射">反射</h3><ol type="1"><li>Java反射就是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;并且能改变它的属性</li></ol><h3 id="结语">结语</h3><p>由于时间仓促,短暂学习后在读博和工作之间举棋不定,后经深思熟虑,决定专攻学术研究,因此<code>Java</code>语法暂时告一段落。因此本篇难免显得虎头蛇尾,若有机会,小子定会补全(抱拳)</p>]]></content>
<summary type="html">记录计算机基础技能</summary>
<category term="Java" scheme="http://example.com/categories/Java/"/>
<category term="CS" scheme="http://example.com/tags/CS/"/>
</entry>
<entry>
<title>PS-GAN</title>
<link href="http://example.com/2023/12/12/PS-GAN/"/>
<id>http://example.com/2023/12/12/PS-GAN/</id>
<published>2023-12-12T11:57:08.000Z</published>
<updated>2023-12-13T07:26:11.988Z</updated>
<content type="html"><![CDATA[<h3 id="前言">前言</h3><p>Title:<code>Perceptual-Sensitive GAN for Generating Adversarial Patches</code></p><p>Subject: <code>AAAI-19</code></p><p>Link:[<a href="https://ojs.aaai.org/index.php/AAAI/article/view/3893">Paper</a>]</p><p>Keyword:<code>Adversarial Patches</code>、<code>GAN</code>、<code>Attention</code>、</p><h3 id="动机motivation">动机(Motivation)</h3><p>对抗补丁<code>(Adversarial Patches)</code>对于网络具有一定的攻击性,但是视觉上不够自然,并且对抗补丁忽略了被攻击模型的感知敏感性。</p><p>本文提出<code>PS-GAN</code>,同时增强对抗补丁的视觉保真度和攻击能力。主要是通过<code>patch-to-patch translation</code> 和<code>attention mechanism</code>来产生更自然、更具攻击性的对抗补丁。</p><h3 id="方法method">方法(Method)</h3><p><img src="https://z1.ax1x.com/2023/12/12/pifEI0J.md.png#pic_center"></p><ol type="1"><li>对于<code>Traffic Sign</code> <span class="math inline"><mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.025ex;" xmlns="http://www.w3.org/2000/svg" width="1.294ex" height="1.025ex" role="img" focusable="false" viewBox="0 -442 572 453"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D465" d="M52 289Q59 331 106 386T222 442Q257 442 286 424T329 379Q371 442 430 442Q467 442 494 420T522 361Q522 332 508 314T481 292T458 288Q439 288 427 299T415 328Q415 374 465 391Q454 404 425 404Q412 404 406 402Q368 386 350 336Q290 115 290 78Q290 50 306 38T341 26Q378 26 414 59T463 140Q466 150 469 151T485 153H489Q504 153 504 145Q504 144 502 134Q486 77 440 33T333 -11Q263 -11 227 52Q186 -10 133 -10H127Q78 -10 57 16T35 71Q35 103 54 123T99 143Q142 143 142 101Q142 81 130 66T107 46T94 41L91 40Q91 39 97 36T113 29T132 26Q168 26 194 71Q203 87 217 139T245 247T261 313Q266 340 266 352Q266 380 251 392T217 404Q177 404 142 372T93 290Q91 281 88 280T72 278H58Q52 284 52 289Z"></path></g></g></g></svg></mjx-container></span>,通过<code>Attention Model</code> <span class="math inline"><mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: 0;" xmlns="http://www.w3.org/2000/svg" width="2.378ex" height="1.545ex" role="img" focusable="false" viewBox="0 -683 1051 683"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D440" d="M289 629Q289 635 232 637Q208 637 201 638T194 648Q194 649 196 659Q197 662 198 666T199 671T201 676T203 679T207 681T212 683T220 683T232 684Q238 684 262 684T307 683Q386 683 398 683T414 678Q415 674 451 396L487 117L510 154Q534 190 574 254T662 394Q837 673 839 675Q840 676 842 678T846 681L852 683H948Q965 683 988 683T1017 684Q1051 684 1051 673Q1051 668 1048 656T1045 643Q1041 637 1008 637Q968 636 957 634T939 623Q936 618 867 340T797 59Q797 55 798 54T805 50T822 48T855 46H886Q892 37 892 35Q892 19 885 5Q880 0 869 0Q864 0 828 1T736 2Q675 2 644 2T609 1Q592 1 592 11Q592 13 594 25Q598 41 602 43T625 46Q652 46 685 49Q699 52 704 61Q706 65 742 207T813 490T848 631L654 322Q458 10 453 5Q451 4 449 3Q444 0 433 0Q418 0 415 7Q413 11 374 317L335 624L267 354Q200 88 200 79Q206 46 272 46H282Q288 41 289 37T286 19Q282 3 278 1Q274 0 267 0Q265 0 255 0T221 1T157 2Q127 2 95 1T58 0Q43 0 39 2T35 11Q35 13 38 25T43 40Q45 46 65 46Q135 46 154 86Q158 92 223 354T289 629Z"></path></g></g></g></svg></mjx-container></span> 获得 <span class="math inline"><mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.025ex;" xmlns="http://www.w3.org/2000/svg" width="1.294ex" height="1.025ex" role="img" focusable="false" viewBox="0 -442 572 453"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D465" d="M52 289Q59 331 106 386T222 442Q257 442 286 424T329 379Q371 442 430 442Q467 442 494 420T522 361Q522 332 508 314T481 292T458 288Q439 288 427 299T415 328Q415 374 465 391Q454 404 425 404Q412 404 406 402Q368 386 350 336Q290 115 290 78Q290 50 306 38T341 26Q378 26 414 59T463 140Q466 150 469 151T485 153H489Q504 153 504 145Q504 144 502 134Q486 77 440 33T333 -11Q263 -11 227 52Q186 -10 133 -10H127Q78 -10 57 16T35 71Q35 103 54 123T99 143Q142 143 142 101Q142 81 130 66T107 46T94 41L91 40Q91 39 97 36T113 29T132 26Q168 26 194 71Q203 87 217 139T245 247T261 313Q266 340 266 352Q266 380 251 392T217 404Q177 404 142 372T93 290Q91 281 88 280T72 278H58Q52 284 52 289Z"></path></g></g></g></svg></mjx-container></span> 中最具感知敏感性的位置<span class="math inline"><mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.566ex;" xmlns="http://www.w3.org/2000/svg" width="5.432ex" height="2.262ex" role="img" focusable="false" viewBox="0 -750 2401 1000"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D440" d="M289 629Q289 635 232 637Q208 637 201 638T194 648Q194 649 196 659Q197 662 198 666T199 671T201 676T203 679T207 681T212 683T220 683T232 684Q238 684 262 684T307 683Q386 683 398 683T414 678Q415 674 451 396L487 117L510 154Q534 190 574 254T662 394Q837 673 839 675Q840 676 842 678T846 681L852 683H948Q965 683 988 683T1017 684Q1051 684 1051 673Q1051 668 1048 656T1045 643Q1041 637 1008 637Q968 636 957 634T939 623Q936 618 867 340T797 59Q797 55 798 54T805 50T822 48T855 46H886Q892 37 892 35Q892 19 885 5Q880 0 869 0Q864 0 828 1T736 2Q675 2 644 2T609 1Q592 1 592 11Q592 13 594 25Q598 41 602 43T625 46Q652 46 685 49Q699 52 704 61Q706 65 742 207T813 490T848 631L654 322Q458 10 453 5Q451 4 449 3Q444 0 433 0Q418 0 415 7Q413 11 374 317L335 624L267 354Q200 88 200 79Q206 46 272 46H282Q288 41 289 37T286 19Q282 3 278 1Q274 0 267 0Q265 0 255 0T221 1T157 2Q127 2 95 1T58 0Q43 0 39 2T35 11Q35 13 38 25T43 40Q45 46 65 46Q135 46 154 86Q158 92 223 354T289 629Z"></path></g><g data-mml-node="mo" transform="translate(1051,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mi" transform="translate(1440,0)"><path data-c="1D465" d="M52 289Q59 331 106 386T222 442Q257 442 286 424T329 379Q371 442 430 442Q467 442 494 420T522 361Q522 332 508 314T481 292T458 288Q439 288 427 299T415 328Q415 374 465 391Q454 404 425 404Q412 404 406 402Q368 386 350 336Q290 115 290 78Q290 50 306 38T341 26Q378 26 414 59T463 140Q466 150 469 151T485 153H489Q504 153 504 145Q504 144 502 134Q486 77 440 33T333 -11Q263 -11 227 52Q186 -10 133 -10H127Q78 -10 57 16T35 71Q35 103 54 123T99 143Q142 143 142 101Q142 81 130 66T107 46T94 41L91 40Q91 39 97 36T113 29T132 26Q168 26 194 71Q203 87 217 139T245 247T261 313Q266 340 266 352Q266 380 251 392T217 404Q177 404 142 372T93 290Q91 281 88 280T72 278H58Q52 284 52 289Z"></path></g><g data-mml-node="mo" transform="translate(2012,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g></g></g></svg></mjx-container></span>,该位置对于攻击更加敏感。</li><li>对于<code>Seed Patch</code> <span class="math inline"><mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.023ex;" xmlns="http://www.w3.org/2000/svg" width="1.005ex" height="1.645ex" role="img" focusable="false" viewBox="0 -717 444 727"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D6FF" d="M195 609Q195 656 227 686T302 717Q319 716 351 709T407 697T433 690Q451 682 451 662Q451 644 438 628T403 612Q382 612 348 641T288 671T249 657T235 628Q235 584 334 463Q401 379 401 292Q401 169 340 80T205 -10H198Q127 -10 83 36T36 153Q36 286 151 382Q191 413 252 434Q252 435 245 449T230 481T214 521T201 566T195 609ZM112 130Q112 83 136 55T204 27Q233 27 256 51T291 111T309 178T316 232Q316 267 309 298T295 344T269 400L259 396Q215 381 183 342T137 256T118 179T112 130Z"></path></g></g></g></svg></mjx-container></span> , 通过<code>Generator</code> <span class="math inline"><mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.05ex;" xmlns="http://www.w3.org/2000/svg" width="1.778ex" height="1.645ex" role="img" focusable="false" viewBox="0 -705 786 727"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D43A" d="M50 252Q50 367 117 473T286 641T490 704Q580 704 633 653Q642 643 648 636T656 626L657 623Q660 623 684 649Q691 655 699 663T715 679T725 690L740 705H746Q760 705 760 698Q760 694 728 561Q692 422 692 421Q690 416 687 415T669 413H653Q647 419 647 422Q647 423 648 429T650 449T651 481Q651 552 619 605T510 659Q492 659 471 656T418 643T357 615T294 567T236 496T189 394T158 260Q156 242 156 221Q156 173 170 136T206 79T256 45T308 28T353 24Q407 24 452 47T514 106Q517 114 529 161T541 214Q541 222 528 224T468 227H431Q425 233 425 235T427 254Q431 267 437 273H454Q494 271 594 271Q634 271 659 271T695 272T707 272Q721 272 721 263Q721 261 719 249Q714 230 709 228Q706 227 694 227Q674 227 653 224Q646 221 643 215T629 164Q620 131 614 108Q589 6 586 3Q584 1 581 1Q571 1 553 21T530 52Q530 53 528 52T522 47Q448 -22 322 -22Q201 -22 126 55T50 252Z"></path></g></g></g></svg></mjx-container></span> 得到对抗补丁 <span class="math inline"><mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.566ex;" xmlns="http://www.w3.org/2000/svg" width="4.543ex" height="2.262ex" role="img" focusable="false" viewBox="0 -750 2008 1000"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D43A" d="M50 252Q50 367 117 473T286 641T490 704Q580 704 633 653Q642 643 648 636T656 626L657 623Q660 623 684 649Q691 655 699 663T715 679T725 690L740 705H746Q760 705 760 698Q760 694 728 561Q692 422 692 421Q690 416 687 415T669 413H653Q647 419 647 422Q647 423 648 429T650 449T651 481Q651 552 619 605T510 659Q492 659 471 656T418 643T357 615T294 567T236 496T189 394T158 260Q156 242 156 221Q156 173 170 136T206 79T256 45T308 28T353 24Q407 24 452 47T514 106Q517 114 529 161T541 214Q541 222 528 224T468 227H431Q425 233 425 235T427 254Q431 267 437 273H454Q494 271 594 271Q634 271 659 271T695 272T707 272Q721 272 721 263Q721 261 719 249Q714 230 709 228Q706 227 694 227Q674 227 653 224Q646 221 643 215T629 164Q620 131 614 108Q589 6 586 3Q584 1 581 1Q571 1 553 21T530 52Q530 53 528 52T522 47Q448 -22 322 -22Q201 -22 126 55T50 252Z"></path></g><g data-mml-node="mo" transform="translate(786,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mi" transform="translate(1175,0)"><path data-c="1D6FF" d="M195 609Q195 656 227 686T302 717Q319 716 351 709T407 697T433 690Q451 682 451 662Q451 644 438 628T403 612Q382 612 348 641T288 671T249 657T235 628Q235 584 334 463Q401 379 401 292Q401 169 340 80T205 -10H198Q127 -10 83 36T36 153Q36 286 151 382Q191 413 252 434Q252 435 245 449T230 481T214 521T201 566T195 609ZM112 130Q112 83 136 55T204 27Q233 27 256 51T291 111T309 178T316 232Q316 267 309 298T295 344T269 400L259 396Q215 381 183 342T137 256T118 179T112 130Z"></path></g><g data-mml-node="mo" transform="translate(1619,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g></g></g></svg></mjx-container></span></li><li>将 <span class="math inline"><mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.566ex;" xmlns="http://www.w3.org/2000/svg" width="4.543ex" height="2.262ex" role="img" focusable="false" viewBox="0 -750 2008 1000"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D43A" d="M50 252Q50 367 117 473T286 641T490 704Q580 704 633 653Q642 643 648 636T656 626L657 623Q660 623 684 649Q691 655 699 663T715 679T725 690L740 705H746Q760 705 760 698Q760 694 728 561Q692 422 692 421Q690 416 687 415T669 413H653Q647 419 647 422Q647 423 648 429T650 449T651 481Q651 552 619 605T510 659Q492 659 471 656T418 643T357 615T294 567T236 496T189 394T158 260Q156 242 156 221Q156 173 170 136T206 79T256 45T308 28T353 24Q407 24 452 47T514 106Q517 114 529 161T541 214Q541 222 528 224T468 227H431Q425 233 425 235T427 254Q431 267 437 273H454Q494 271 594 271Q634 271 659 271T695 272T707 272Q721 272 721 263Q721 261 719 249Q714 230 709 228Q706 227 694 227Q674 227 653 224Q646 221 643 215T629 164Q620 131 614 108Q589 6 586 3Q584 1 581 1Q571 1 553 21T530 52Q530 53 528 52T522 47Q448 -22 322 -22Q201 -22 126 55T50 252Z"></path></g><g data-mml-node="mo" transform="translate(786,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mi" transform="translate(1175,0)"><path data-c="1D6FF" d="M195 609Q195 656 227 686T302 717Q319 716 351 709T407 697T433 690Q451 682 451 662Q451 644 438 628T403 612Q382 612 348 641T288 671T249 657T235 628Q235 584 334 463Q401 379 401 292Q401 169 340 80T205 -10H198Q127 -10 83 36T36 153Q36 286 151 382Q191 413 252 434Q252 435 245 449T230 481T214 521T201 566T195 609ZM112 130Q112 83 136 55T204 27Q233 27 256 51T291 111T309 178T316 232Q316 267 309 298T295 344T269 400L259 396Q215 381 183 342T137 256T118 179T112 130Z"></path></g><g data-mml-node="mo" transform="translate(1619,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g></g></g></svg></mjx-container></span> 应用于 <span class="math inline"><mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.566ex;" xmlns="http://www.w3.org/2000/svg" width="5.432ex" height="2.262ex" role="img" focusable="false" viewBox="0 -750 2401 1000"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D440" d="M289 629Q289 635 232 637Q208 637 201 638T194 648Q194 649 196 659Q197 662 198 666T199 671T201 676T203 679T207 681T212 683T220 683T232 684Q238 684 262 684T307 683Q386 683 398 683T414 678Q415 674 451 396L487 117L510 154Q534 190 574 254T662 394Q837 673 839 675Q840 676 842 678T846 681L852 683H948Q965 683 988 683T1017 684Q1051 684 1051 673Q1051 668 1048 656T1045 643Q1041 637 1008 637Q968 636 957 634T939 623Q936 618 867 340T797 59Q797 55 798 54T805 50T822 48T855 46H886Q892 37 892 35Q892 19 885 5Q880 0 869 0Q864 0 828 1T736 2Q675 2 644 2T609 1Q592 1 592 11Q592 13 594 25Q598 41 602 43T625 46Q652 46 685 49Q699 52 704 61Q706 65 742 207T813 490T848 631L654 322Q458 10 453 5Q451 4 449 3Q444 0 433 0Q418 0 415 7Q413 11 374 317L335 624L267 354Q200 88 200 79Q206 46 272 46H282Q288 41 289 37T286 19Q282 3 278 1Q274 0 267 0Q265 0 255 0T221 1T157 2Q127 2 95 1T58 0Q43 0 39 2T35 11Q35 13 38 25T43 40Q45 46 65 46Q135 46 154 86Q158 92 223 354T289 629Z"></path></g><g data-mml-node="mo" transform="translate(1051,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mi" transform="translate(1440,0)"><path data-c="1D465" d="M52 289Q59 331 106 386T222 442Q257 442 286 424T329 379Q371 442 430 442Q467 442 494 420T522 361Q522 332 508 314T481 292T458 288Q439 288 427 299T415 328Q415 374 465 391Q454 404 425 404Q412 404 406 402Q368 386 350 336Q290 115 290 78Q290 50 306 38T341 26Q378 26 414 59T463 140Q466 150 469 151T485 153H489Q504 153 504 145Q504 144 502 134Q486 77 440 33T333 -11Q263 -11 227 52Q186 -10 133 -10H127Q78 -10 57 16T35 71Q35 103 54 123T99 143Q142 143 142 101Q142 81 130 66T107 46T94 41L91 40Q91 39 97 36T113 29T132 26Q168 26 194 71Q203 87 217 139T245 247T261 313Q266 340 266 352Q266 380 251 392T217 404Q177 404 142 372T93 290Q91 281 88 280T72 278H58Q52 284 52 289Z"></path></g><g data-mml-node="mo" transform="translate(2012,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g></g></g></svg></mjx-container></span>,得到<code>Fake Traffic Sign</code><span class="math inline"><mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.025ex;" xmlns="http://www.w3.org/2000/svg" width="1.294ex" height="1.722ex" role="img" focusable="false" viewBox="0 -750 572 761"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="TeXAtom" data-mjx-texclass="ORD"><g data-mml-node="mover"><g data-mml-node="mi"><path data-c="1D465" d="M52 289Q59 331 106 386T222 442Q257 442 286 424T329 379Q371 442 430 442Q467 442 494 420T522 361Q522 332 508 314T481 292T458 288Q439 288 427 299T415 328Q415 374 465 391Q454 404 425 404Q412 404 406 402Q368 386 350 336Q290 115 290 78Q290 50 306 38T341 26Q378 26 414 59T463 140Q466 150 469 151T485 153H489Q504 153 504 145Q504 144 502 134Q486 77 440 33T333 -11Q263 -11 227 52Q186 -10 133 -10H127Q78 -10 57 16T35 71Q35 103 54 123T99 143Q142 143 142 101Q142 81 130 66T107 46T94 41L91 40Q91 39 97 36T113 29T132 26Q168 26 194 71Q203 87 217 139T245 247T261 313Q266 340 266 352Q266 380 251 392T217 404Q177 404 142 372T93 290Q91 281 88 280T72 278H58Q52 284 52 289Z"></path></g><g data-mml-node="mo" transform="translate(313.8,332) translate(-250 0)"><path data-c="7E" d="M179 251Q164 251 151 245T131 234T111 215L97 227L83 238Q83 239 95 253T121 283T142 304Q165 318 187 318T253 300T320 282Q335 282 348 288T368 299T388 318L402 306L416 295Q375 236 344 222Q330 215 313 215Q292 215 248 233T179 251Z"></path></g></g></g></g></g></svg></mjx-container></span>, 将其输入<code>Target Model</code> <span class="math inline"><mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: 0;" xmlns="http://www.w3.org/2000/svg" width="1.695ex" height="1.538ex" role="img" focusable="false" viewBox="0 -680 749 680"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D439" d="M48 1Q31 1 31 11Q31 13 34 25Q38 41 42 43T65 46Q92 46 125 49Q139 52 144 61Q146 66 215 342T285 622Q285 629 281 629Q273 632 228 634H197Q191 640 191 642T193 659Q197 676 203 680H742Q749 676 749 669Q749 664 736 557T722 447Q720 440 702 440H690Q683 445 683 453Q683 454 686 477T689 530Q689 560 682 579T663 610T626 626T575 633T503 634H480Q398 633 393 631Q388 629 386 623Q385 622 352 492L320 363H375Q378 363 398 363T426 364T448 367T472 374T489 386Q502 398 511 419T524 457T529 475Q532 480 548 480H560Q567 475 567 470Q567 467 536 339T502 207Q500 200 482 200H470Q463 206 463 212Q463 215 468 234T473 274Q473 303 453 310T364 317H309L277 190Q245 66 245 60Q245 46 334 46H359Q365 40 365 39T363 19Q359 6 353 0H336Q295 2 185 2Q120 2 86 2T48 1Z"></path></g></g></g></svg></mjx-container></span>和<code>Discriminator</code> <span class="math inline"><mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: 0;" xmlns="http://www.w3.org/2000/svg" width="1.873ex" height="1.545ex" role="img" focusable="false" viewBox="0 -683 828 683"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D437" d="M287 628Q287 635 230 637Q207 637 200 638T193 647Q193 655 197 667T204 682Q206 683 403 683Q570 682 590 682T630 676Q702 659 752 597T803 431Q803 275 696 151T444 3L430 1L236 0H125H72Q48 0 41 2T33 11Q33 13 36 25Q40 41 44 43T67 46Q94 46 127 49Q141 52 146 61Q149 65 218 339T287 628ZM703 469Q703 507 692 537T666 584T629 613T590 629T555 636Q553 636 541 636T512 636T479 637H436Q392 637 386 627Q384 623 313 339T242 52Q242 48 253 48T330 47Q335 47 349 47T373 46Q499 46 581 128Q617 164 640 212T683 339T703 469Z"></path></g></g></g></svg></mjx-container></span>,得到 <code>loss</code> 后进行梯度对抗攻击迭代模型参数</li></ol><p>其中<code>Attention Model</code> 使用 <code>GradCAM</code>,<span class="math inline"><mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.025ex;" xmlns="http://www.w3.org/2000/svg" width="3.894ex" height="1.595ex" role="img" focusable="false" viewBox="0 -694 1721 705"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D459" d="M117 59Q117 26 142 26Q179 26 205 131Q211 151 215 152Q217 153 225 153H229Q238 153 241 153T246 151T248 144Q247 138 245 128T234 90T214 43T183 6T137 -11Q101 -11 70 11T38 85Q38 97 39 102L104 360Q167 615 167 623Q167 626 166 628T162 632T157 634T149 635T141 636T132 637T122 637Q112 637 109 637T101 638T95 641T94 647Q94 649 96 661Q101 680 107 682T179 688Q194 689 213 690T243 693T254 694Q266 694 266 686Q266 675 193 386T118 83Q118 81 118 75T117 65V59Z"></path></g><g data-mml-node="mi" transform="translate(298,0)"><path data-c="1D45C" d="M201 -11Q126 -11 80 38T34 156Q34 221 64 279T146 380Q222 441 301 441Q333 441 341 440Q354 437 367 433T402 417T438 387T464 338T476 268Q476 161 390 75T201 -11ZM121 120Q121 70 147 48T206 26Q250 26 289 58T351 142Q360 163 374 216T388 308Q388 352 370 375Q346 405 306 405Q243 405 195 347Q158 303 140 230T121 120Z"></path></g><g data-mml-node="mi" transform="translate(783,0)"><path data-c="1D460" d="M131 289Q131 321 147 354T203 415T300 442Q362 442 390 415T419 355Q419 323 402 308T364 292Q351 292 340 300T328 326Q328 342 337 354T354 372T367 378Q368 378 368 379Q368 382 361 388T336 399T297 405Q249 405 227 379T204 326Q204 301 223 291T278 274T330 259Q396 230 396 163Q396 135 385 107T352 51T289 7T195 -10Q118 -10 86 19T53 87Q53 126 74 143T118 160Q133 160 146 151T160 120Q160 94 142 76T111 58Q109 57 108 57T107 55Q108 52 115 47T146 34T201 27Q237 27 263 38T301 66T318 97T323 122Q323 150 302 164T254 181T195 196T148 231Q131 256 131 289Z"></path></g><g data-mml-node="mi" transform="translate(1252,0)"><path data-c="1D460" d="M131 289Q131 321 147 354T203 415T300 442Q362 442 390 415T419 355Q419 323 402 308T364 292Q351 292 340 300T328 326Q328 342 337 354T354 372T367 378Q368 378 368 379Q368 382 361 388T336 399T297 405Q249 405 227 379T204 326Q204 301 223 291T278 274T330 259Q396 230 396 163Q396 135 385 107T352 51T289 7T195 -10Q118 -10 86 19T53 87Q53 126 74 143T118 160Q133 160 146 151T160 120Q160 94 142 76T111 58Q109 57 108 57T107 55Q108 52 115 47T146 34T201 27Q237 27 263 38T301 66T318 97T323 122Q323 150 302 164T254 181T195 196T148 231Q131 256 131 289Z"></path></g></g></g></svg></mjx-container></span> 如下:</p><p><img src="https://z1.ax1x.com/2023/12/12/pifV9AA.png#pic_centepic_center"></p><h3 id="结果result">结果(Result)</h3><p><strong>Patches 可视化结果</strong></p><p><img src="https://z1.ax1x.com/2023/12/12/pifE6kn.md.png#pic_center"></p><p><strong>攻击结果</strong></p><p><img src="https://z1.ax1x.com/2023/12/12/pifA0aR.md.png#pic_cente"></p><h3 id="总结conclusion">总结(Conclusion)</h3><ol type="1"><li>使用GradCAM 获得攻击敏感位置,并将Patches应用,可以提高攻击强度</li><li>通过 GAN 生成受约束的 Patches,将Patches变得更加自然,具有一定语义信息</li><li>未解决Patches 与 图像上下文不相容的问题,如果将 <span class="math inline"><mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.566ex;" xmlns="http://www.w3.org/2000/svg" width="5.432ex" height="2.262ex" role="img" focusable="false" viewBox="0 -750 2401 1000"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D440" d="M289 629Q289 635 232 637Q208 637 201 638T194 648Q194 649 196 659Q197 662 198 666T199 671T201 676T203 679T207 681T212 683T220 683T232 684Q238 684 262 684T307 683Q386 683 398 683T414 678Q415 674 451 396L487 117L510 154Q534 190 574 254T662 394Q837 673 839 675Q840 676 842 678T846 681L852 683H948Q965 683 988 683T1017 684Q1051 684 1051 673Q1051 668 1048 656T1045 643Q1041 637 1008 637Q968 636 957 634T939 623Q936 618 867 340T797 59Q797 55 798 54T805 50T822 48T855 46H886Q892 37 892 35Q892 19 885 5Q880 0 869 0Q864 0 828 1T736 2Q675 2 644 2T609 1Q592 1 592 11Q592 13 594 25Q598 41 602 43T625 46Q652 46 685 49Q699 52 704 61Q706 65 742 207T813 490T848 631L654 322Q458 10 453 5Q451 4 449 3Q444 0 433 0Q418 0 415 7Q413 11 374 317L335 624L267 354Q200 88 200 79Q206 46 272 46H282Q288 41 289 37T286 19Q282 3 278 1Q274 0 267 0Q265 0 255 0T221 1T157 2Q127 2 95 1T58 0Q43 0 39 2T35 11Q35 13 38 25T43 40Q45 46 65 46Q135 46 154 86Q158 92 223 354T289 629Z"></path></g><g data-mml-node="mo" transform="translate(1051,0)"><path data-c="28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path></g><g data-mml-node="mi" transform="translate(1440,0)"><path data-c="1D465" d="M52 289Q59 331 106 386T222 442Q257 442 286 424T329 379Q371 442 430 442Q467 442 494 420T522 361Q522 332 508 314T481 292T458 288Q439 288 427 299T415 328Q415 374 465 391Q454 404 425 404Q412 404 406 402Q368 386 350 336Q290 115 290 78Q290 50 306 38T341 26Q378 26 414 59T463 140Q466 150 469 151T485 153H489Q504 153 504 145Q504 144 502 134Q486 77 440 33T333 -11Q263 -11 227 52Q186 -10 133 -10H127Q78 -10 57 16T35 71Q35 103 54 123T99 143Q142 143 142 101Q142 81 130 66T107 46T94 41L91 40Q91 39 97 36T113 29T132 26Q168 26 194 71Q203 87 217 139T245 247T261 313Q266 340 266 352Q266 380 251 392T217 404Q177 404 142 372T93 290Q91 281 88 280T72 278H58Q52 284 52 289Z"></path></g><g data-mml-node="mo" transform="translate(2012,0)"><path data-c="29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></g></g></g></svg></mjx-container></span>作为<code>Seed Patch</code> <span class="math inline"><mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.023ex;" xmlns="http://www.w3.org/2000/svg" width="1.005ex" height="1.645ex" role="img" focusable="false" viewBox="0 -717 444 727"><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><path data-c="1D6FF" d="M195 609Q195 656 227 686T302 717Q319 716 351 709T407 697T433 690Q451 682 451 662Q451 644 438 628T403 612Q382 612 348 641T288 671T249 657T235 628Q235 584 334 463Q401 379 401 292Q401 169 340 80T205 -10H198Q127 -10 83 36T36 153Q36 286 151 382Q191 413 252 434Q252 435 245 449T230 481T214 521T201 566T195 609ZM112 130Q112 83 136 55T204 27Q233 27 256 51T291 111T309 178T316 232Q316 267 309 298T295 344T269 400L259 396Q215 381 183 342T137 256T118 179T112 130Z"></path></g></g></g></svg></mjx-container></span> ,最后生成Patches,Patches在视觉上更不可被人察觉。</li><li>本文尚未提供代码,因此更多细节不必深究</li></ol>]]></content>
<summary type="html">生成式对抗样本</summary>
<category term="Adversarial attack" scheme="http://example.com/categories/Adversarial-attack/"/>
<category term="papernotes" scheme="http://example.com/tags/papernotes/"/>
</entry>
<entry>
<title>从零搭建博客-Hexo</title>
<link href="http://example.com/2023/11/25/Hexo/"/>
<id>http://example.com/2023/11/25/Hexo/</id>
<published>2023-11-25T07:39:40.000Z</published>
<updated>2023-12-12T13:59:24.679Z</updated>
<content type="html"><![CDATA[<h3 id="前言">前言</h3><p>求学以来,零零散散的记录了一些问题,也形成了一些笔记,但是从未有过管理自己的博客的想法。归根结底,到底还是由于平台太多,自己太懒,并不像多平台发布,只想着取悦自己。因此,我搭建了一个专属自己的平台,随性发布一些内容。</p><p>选择<code>Hexo+GitHub</code>搭建博客,是因为本人现阶段并不打算租服务器或者在这上面花费太多的💴,因此选择这个组合来搭建博客</p><p>为了美化博客,最简单的方式就是使用<code>butterfly</code>等现有的主题,而关于如何使用<code>Node.js、GitHub、Hexo、Butterfly</code>搭建、美化,网络上有太多太多行之有效的教程,多出一份也毫无意义。因此,本人在此专门从小白角度,以身试法,总结一下自己遇到的问题</p><h3 id="博客搭建">博客搭建</h3><ol type="1"><li><p>博客搭建初期,使用<code>Github</code>的进行<code>ssh key</code>连接过程,如果报错,很大程度上是网络问题,需要不断尝试<code>打开代理-切换代理-关闭代理</code>等多种方法,或者是稍后访问。</p></li><li><p>基于<code>Hexo</code>的博客搭建常见命令</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">hexo n page <span class="string">"分类"</span> <span class="comment"># 新建页面</span></span><br><span class="line"></span><br><span class="line">hexo new <span class="string">"My Blot"</span> <span class="comment"># 新建博客,注意冒号是必须带上的,会在source文件夹中出现 My Blot.md文件</span></span><br><span class="line"></span><br><span class="line">hexo g <span class="comment"># 为md文件生成网页资源</span></span><br><span class="line"></span><br><span class="line">hexo d <span class="comment"># 将网页资源推送到页面,也就是基于Github 搭建的页面</span></span><br><span class="line"></span><br><span class="line">hexo c <span class="comment"># 清除所有已经生成的网页资源</span></span><br><span class="line"></span><br><span class="line">hexo s <span class="comment"># 在本机上查看网页资源 (hostlocal:4000)端口号可能不一样 </span></span><br></pre></td></tr></table></figure></li></ol><h3 id="博客美化">博客美化</h3><ol type="1"><li>本文接下来全部基于<code>butterfly</code></li><li><code>yml</code>打开时,尽量不要用<code>记事本</code>,因为<code>yml</code>中格式要求十分严格,<code>:</code>后面必须有一个<code>空格</code>,使用<code>记事本</code>容易破坏原有结构而导致报错</li><li><strong>子页面的生成</strong></li></ol><p><code>Butterfly</code>中提到,子页面也是普通页面,因此可以按照普通页面的生成方式进行生成。并且在示例中说明了如何添加“分类”、“标签”、“照片”等多个子页面。</p><p> 但是,本人遇到的问题如下:</p><p><img src="https://z1.ax1x.com/2023/11/25/pi0kDOg.png" alt="pi0kDOg.png" style="zoom:50%;" /></p><p>此情况一般是子页面缺失,需要新建子页面,子页面文件需要在主页面文件夹下,具体文件结构如下图:</p><p><img src="https://z1.ax1x.com/2023/11/25/pi0khlT.png#pic_center" alt="pi0khlT.png" /></p><figure><img src="https://z1.ax1x.com/2023/11/25/pi0kfpV.png#pic_center"alt="pi0kfpV.png" /><figcaption aria-hidden="true">pi0kfpV.png</figcaption></figure><p>其中<code>Gallery</code>文件夹包括<code>index.md</code>,以及所属的三个子页面文件夹<code>girls、scenry、wallpaper</code>,必须按照这个顺序,才能使得子页面有效。</p><ol start="4" type="1"><li><code>Butterfly</code>中画廊的应用</li></ol><p>说明文档中给出了代码示例,只要将下面代码放入<code>Gallery</code>主页面的<code>index.md</code>文件中,该页面下将会出现三个选项,这时候我们需要创建三个<code>子页面</code></p><figure class="highlight html"><table><tr><td class="code"><pre><span class="line"><span class="tag"><<span class="name">div</span> <span class="attr">class</span>=<span class="string">"gallery-group-main"</span>></span></span><br><span class="line">{% galleryGroup '壁纸' '也许,勇士每天面对的,都是星辰大海' '/Gallery/wallpaper' https://z1.ax1x.com/2023/11/25/piwvNvR.png %}</span><br><span class="line">{% galleryGroup '绝色' '如果你认为她是美的,那她便是极美的' '/Gallery/girls' https://z1.ax1x.com/2023/11/25/piwvY8J.png %}</span><br><span class="line">{% galleryGroup '风景' '人生在意的不是旅途终点,而是沿途的风景' '/Gallery/scenry' https://z1.ax1x.com/2023/11/25/piwvr5D.png %}</span><br><span class="line"><span class="tag"></<span class="name">div</span>></span></span><br><span class="line"></span><br></pre></td></tr></table></figure><p>并且将下面代码放入<code>子页面</code>的<code>index.md</code>,便可以实现示例中的操作</p><figure class="highlight plaintext"><table><tr><td class="code"><pre><span class="line">{% gallery %}</span><br><span class="line">![piwviHf.png](https://z1.ax1x.com/2023/11/25/piwviHf.png)</span><br><span class="line">![piwvJC4.md.png](https://z1.ax1x.com/2023/11/25/piwvJC4.md.png)</span><br><span class="line">![piwvY8J.png](https://z1.ax1x.com/2023/11/25/piwvY8J.png)</span><br><span class="line">{% endgallery %}</span><br></pre></td></tr></table></figure><ol start="5" type="1"><li>图床</li></ol><p>将图片放至线上,在<code>md</code>文件中调用时直接使用<code>html</code>调用,可以节省本地的空间</p><h3 id="博客书写">博客书写</h3><p>对于初学者,使用<code>Typora</code>或者<code>vscode</code>进行markdown文件的撰写都可以,但是语法需要多家联系</p><h3 id="结语">结语</h3><p>关于<code>Hexo+butterfly</code>的博客搭建就到此结束,希望各位初学者能够跟随更加详细的博客,搭建出自己平台,当然,如果遇到一些<strong>“这么简单我竟然没搞定”</strong>的问题,也欢迎留言联系博主,让后续的学者少挠头!</p>]]></content>
<summary type="html">记录博主从零搭建博客的一些问题、解决方案以及体会</summary>
<category term="Hexo" scheme="http://example.com/categories/Hexo/"/>
<category term="Hexo" scheme="http://example.com/tags/Hexo/"/>
</entry>
<entry>
<title>Hello World</title>
<link href="http://example.com/2023/11/24/hello-world/"/>
<id>http://example.com/2023/11/24/hello-world/</id>
<published>2023-11-24T10:04:23.510Z</published>
<updated>2023-12-12T13:46:04.342Z</updated>
<content type="html"><![CDATA[<p>Welcome to <a href="https://hexo.io/">Hexo</a>! This is your veryfirst post. Check <a href="https://hexo.io/docs/">documentation</a> formore info. If you get any problems when using Hexo, you can find theanswer in <ahref="https://hexo.io/docs/troubleshooting.html">troubleshooting</a> oryou can ask me on <ahref="https://github.com/hexojs/hexo/issues">GitHub</a>.</p><h2 id="quick-start">Quick Start</h2><h3 id="create-a-new-post">Create a new post</h3><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">$ hexo new <span class="string">"My New Post"</span></span><br></pre></td></tr></table></figure><p>More info: <ahref="https://hexo.io/docs/writing.html">Writing</a></p><h3 id="run-server">Run server</h3><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">$ hexo server</span><br></pre></td></tr></table></figure><p>More info: <a href="https://hexo.io/docs/server.html">Server</a></p><h3 id="generate-static-files">Generate static files</h3><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">$ hexo generate</span><br></pre></td></tr></table></figure><p>More info: <ahref="https://hexo.io/docs/generating.html">Generating</a></p><h3 id="deploy-to-remote-sites">Deploy to remote sites</h3><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">$ hexo deploy</span><br></pre></td></tr></table></figure><p>More info: <ahref="https://hexo.io/docs/one-command-deployment.html">Deployment</a></p><h3 id="code-test">Code Test</h3><figure class="highlight python"><table><tr><td class="code"><pre><span class="line"><span class="built_in">print</span>(<span class="string">'Hello, my zone!'</span>)</span><br></pre></td></tr></table></figure><h3 id="image-test">Image test</h3><p><a href="https://imgse.com/i/piwviHf"><imgsrc="https://z1.ax1x.com/2023/11/25/piwviHf.md.png"alt="piwviHf.md.png" /></a></p>]]></content>
<summary type="html">我出生了</summary>
<category term="Hexo" scheme="http://example.com/categories/Hexo/"/>
<category term="Hexo" scheme="http://example.com/tags/Hexo/"/>
</entry>
</feed>