Hybrid Vector Library-From Memory Bound to Compute Bound with NVVM Régis PORTALEZ -ALTIMESH -regis.portalez@altimesh.com Florent DUGUET -ALTIMESH -florent.duguet@altimesh.com Existing source code usually interleaves data management, error-checking, text processing and actual compute. On general purpose processors, this mixture of code tasks is not necessarily an issue, and performance levels are often satisfactory as is.

However, when trying to use GPU, this hybrid computing turns into a coding challenge. Each individual computing tasks does not show sufficient workload, and porting the whole application requires a significant investment in the software asset.

We propose an alternate approach with runtime compilation based on function calls on a compute library. Hybrid Vector Library operates on vectors, in a manner similar to BLAS level 1 routines, with other functions such as square root or exponential, or MKL routines. In essence, all operations are performed on a vector of values. We illustrate the performance results of this approach on a typical financial benchmark.

Existing solutions such as ArrayFire [5] do not allow custom device function to be called in the middle of a level 1 routines sequence. We address that issue by processing these functions at compile time.

MOTIVATION

Similar to MKL or BLAS Level-1 routines, Hybrid Vector Library exposes operations on vectors of values. These operations include basic arithmetic operations, along with mathematical function calls. It also exposes comparison tools and select operation to support basic value-dependent branching operations.

The API has several implementations that can be chosen at runtime to allow maximal flexibility. We illustrate here the use of two of these implementations.

HYBRID VECTOR LIBRARY

Régis PORTALEZ -ALTIMESH -regis.portalez@altimesh.com -Florent DUGUET -ALTIMESH-florent.duguet@altimesh.com REFERENCES DISCUSSION Whether due to kernel scheduling or systematic cache miss due to split kernel calls, execution of small tasks on a GPU lead to significant performance penalties. As a result, chosen approach is to perform a global porting of the application to GPU which is a tedious effort on long-lasting software assets.

We presented here an alternate solution that result in efficient execution of a queue of small GPU tasks, leveraging runtime compilation to avoid the cost of a kernel launch and cache miss on the device. With a good caching strategy, the overall performance is 98% of the performance obtained with a hand-tuned version of the same algorithm.

The utilization of the arithmetic pipe is above 80% on a Kepler K40 GPU, entering the "compute -bound" side of implementation class.

The resulting device binary is then scheduled for execution and results can be queried. The DAG is encoded into a signature in order to cache the compilation results -CUDA binary module. As shown, the compilation time may be longer than the overall execution time.

When calling API methods, the operations are not scheduled immediately on the device. The different calls are gathered in a graph, which is by construction directed and acyclic (DAG), and no operation is executed until results are queried.

PERFORMANCE OF NAIVE IMPLEMENTATION

The naïve implementation will perform a kernel call for each vector operation. Beyond the lack of compiler optimization that would for example reconstruct FMA operations, this implementation suffers an important performance penalty. Indeed, each kernel call needs to be scheduled and executed. As illustrated in the following profiling snapshots, the execution time of a launch is about 25 microseconds (10µs configuration and 15µs launch). Within this time, about 1 million vector entries can be processed (calculating exp or log of the values for instance) Moreover, kernel executions are memory bound. Indeed, current GPUs can execute more than 50 FLOPS for each memory operation, making all simple math functions, including transcendentals such as exponential, memory bound. We can see performance is driven by memory operations and not arithmetic complexity. Compilation of NVVM code takes about 50 milliseconds which is much higher than most execution times. A good caching strategy is needed.

As a future work, we consider performing register allocation and PTX generation directly for DAG instances where initial cost cannot be amortized by caching strategy. User-defined device functions are identified in the call graph. CUDA source is generated for each of them, as long as a cubin file. The pairs function/cubin is registered at application startup.

Task

  define void @hvl_nvvm_0 (i64 %n, double* %output , double* %param.load.37 , double* %param.load.38 , double* %param.load.41 , double* %param.load.52 , double* %param.load.54 ) { entry: for.body: %load.idx.37 = getelementptr inbounds double* %param.load.37, i64 %idxprom %hvl.37 = load double* %load.idx.37, align 8 %load.idx.38 = getelementptr inbounds double* %param.load.38, i64 %idxprom %hvl.38 = load double* %load.idx.38, align 8 %hvl.36 = fdiv double %hvl.37, %hvl.38 %hvl.35 = call double @__nv_log ( double %hvl.36 ) %load.idx.41 = getelementptr inbounds double* %param.load.41, i64 %idxprom %hvl.41 = load double* %load.idx.41, align 8 %load.idx.52 = getelementptr inbounds double* %param.load.52, i64 %idxprom %hvl.52 = load double* %load.idx.52, align 8 %hvl.43 = fmul double %hvl.52 , 5.0000000000000000e-001 %hvl.42 = fmul double %hvl.43, %hvl.52 %hvl.40 = fadd double %hvl.41, %hvl.42 %load.idx.54 = getelementptr inbounds double* %param.load.54, i64 %idxprom %hvl.54 = load double* %load.idx.54, align 8 %hvl.39 = fmul double %hvl.40, %hvl.54 %hvl.34 = fadd double %hvl.35, %hvl.39 %hvl.53 = call double @__nv_sqrt ( double %hvl.54 ) %hvl.51 = fmul double %hvl.52, %hvl.53 %hvl.33 = fdiv double %hvl.34, %hvl.51 %hvl.4 = call double @mycnd (double %hvl.33) %hvl.2 = fmul double %hvl.37, %hvl.4 %hvl.28 = fmul double %hvl.41 , -1.0000000000000000e+000 %hvl.27 = fmul double %hvl.28, %hvl.54 %hvl.26 = call double @__nv_exp ( double %hvl.27 ) %hvl.24 = fmul double %hvl.38, %hvl.26 %hvl.32 = fsub double %hvl.33, %hvl.51 %hvl.31 = call double @mycnd (double %hvl.32) %hvl.23 = fmul double %hvl.24, %hvl.31 %hvl.1 = fsub double %hvl.2, %hvl.23 %output.idx = getelementptr inbounds double* %output, i64 %idxprom store double %hvl.1, double* %output.idx, align 8 %idxprom.next = add i64 %idxprom,

  [1] "Compiling Parallel Languages with the NVIDIA Compiler SDK", Mark Harris, supercomputing 2012 [2] "LambdaJIT: a dynamic compiler for heterogeneous optimizations of STL algorithms." Lutz, Thibaut, and Vinod Grover. Proceedings of the 3rd ACM SIGPLAN workshop on Functional high-performance computing. ACM, 2014 [3] "nvvm-IR documentation" : http://docs.nvidia.com/cuda/nvvm-ir-spec/index.html [4] "Building GPU Compilers with libNVVM" Yuan Lin http://on-demand.gputechconf.com/gtc/2013/presentations/ S3185-Building-GPU-Compilers-libNVVM.pdf [5] "Array fire documentation" : http://arrayfire.org/docs/index.htm

  implementation of HVL, execution of the calculation is performed at different stages. For the basic implementation, execution is done upon the API call on a vector of data. When using the NVVM -backed version, intermediate results do not exist. Operations are done in four phases: : mycnd has been declared extern "C" for symbol to be retrieved hvlvect BlackScholesBodyVect(const hvlvect& S, const hvlvect& X, const hvlvect& T, const hvlvect& R, const hvlvect& V) { hvlvect VsqrtT = V * sqrt(T); hvlvect d1 = (log(S / X) + (R + 0.5 * V * V) * T) / (VsqrtT); hvlvect d2 = d1 -VsqrtT; hvl_invoke(d1, mycnd); hvl_invoke(d2, mycnd); (2) hvlvect expRT = exp(-R * T); return (S * d1 -X * expRT * d2)At given milestones, the DAG is converted into NVVM source code: each node is an NVVM statement with a single output. The NVVM source code is compiled at runtime. The sequence of calls and the compilation result are cached for future usage.

  Execution of same algorithm with same launch settings (120 blocks-256 threads on a Tesla K40c with CUDA 8.0 on a variety of options count)

NVVM Generated Code SASS Generated Code

(1) In this implementation all calls are within the same function but it can be spread on multiple source files or binary modules.

From HVL API Calls, a DAG is generated and upon request transformed into NVVM source code.

Vector operators are overloaded in C++ to make use of hvl library and include errorchecking using exceptions. User defined device code is invoked through special API calls.

A cubin file is generated at runtime and linked with precompiled modules of custom device functions.

When executing operations upon library API call, performance is memory-bound and kernel execution time solely depends on amount of memory read or written.

BENEFITS OF USER-DEFINED FUNCTIONS

In the case of complex algorithm, for example when branching cannot be converted into functions like maximum, the set of methods exposed in the library are not necessarily sufficient for a single source implementation. It is sometimes necessary to either implement kernels by hand (in which case one per architecture), or retrieve data on the CPU losing significant performance benefit from the approach.

Enabling user-defined functions, it is possible for the user to write a function in a single version, and with a customized compilation tool-chain that function can be invoked by all underlying implementations (host or device). Such functions are declared using supplemental attributes for the toolchain to connect between implementations.


Hou Y Yau
email: hyau@fdnresearch.us

SCHWARZSCHILD FIELD OF A PROPER TIME OSCILLATOR A PREPRINT

We show that an oscillator in proper time can mimic a point mass at rest in general relativity. The spacetime outside this proper time oscillator is static and satisfies the Schwarzschild solution.

Introduction

Nature has a preference for symmetry [START_REF] Gross | The role of symmetry in fundamental physics[END_REF][START_REF] Livio | Why symmetry matters[END_REF]. In classical mechanics, oscillations are considered only in the spatial dimensions. On the other hand, the structure of spacetime is dynamical. Time and space are to be treated on an equal footing in general relativity. Therefore, in theory, we can construct an oscillator that has oscillation in time, if the symmetry between time and space prevails. This oscillator is an analogy of the classical system, except the oscillation is in time and not in space.

Two recent findings intrigue us to study the properties of an oscillator in time. In refs. [START_REF] Yau | Emerged quantum field of a deterministic system with vibrations in space and time[END_REF][START_REF] Yau | Probabilistic nature of a field with time as a dynamical variable[END_REF][START_REF] Yau | Temporal vibrations in a quantized field[END_REF][START_REF] Yau | Time and Space Symmetry in a Quantum Field[END_REF], it is demonstrated that the basic properties of a non-interacting spin-zero bosonic field can be reconciled from a system with vibrations of matter in time. The temporal vibrations are physical quantities introduced to restore the symmetry between time and space in a matter field. Besides, the internal time of this field can be described by a self-adjoint operator. Unlike the use of positive operator valued measures (POVM) [START_REF] Muga | Arrival time in quantum mechanics[END_REF][START_REF] Egusquiza | Free-motion time-of-arrival operator and probability distribution[END_REF][START_REF] Galapon | Pauli's theorem and quantum canonical pairs: the consistency of a bounded, self-adoint time operator canonically conjugate to a hamiltonian with non-empty point spectrum[END_REF][START_REF] Wang | How to introduce time operator[END_REF][START_REF] Galapon | Post Pauli's theorem emerging perspective on time in quantum mechanics[END_REF], which is typically encountered in the study of a time operator, the spectrum of the internal time operator is unbounded. It is not restricted by Pauli's theorem that time cannot be treated as an operator because the Hamiltonian of the system is bounded from below [START_REF] Pauli | General Principles of Quantum Mechanics[END_REF]. One of the reasons to develop a self-adjoint time operator is to assuage the conflict in how time is treated differently in quantum theory and general relativity [START_REF] Rovelli | Quantum Gravity[END_REF][START_REF] Anderson | Problem of time in quantum gravity[END_REF][START_REF] Bauer | A dynamical time operator in Dirac's relativistic quantum mechanics[END_REF].

In the field with vibrations of matter in time, a stationary particle observed has oscillation in proper time. As a part of the spacetime geometry, this proper time oscillation shall curve the surrounding spacetime. In this paper, we explore the gravitational field of the same proper time oscillator but without considering the quantum effects. The oscillator, as defined in the next section, is assumed to be at rest over time. Our results show that the spacetime outside this proper time oscillator is static and satisfies the Schwarzschild solution.

Another finding involves the free-falling velocity in a gravitational field. As shown in general relativity, the Schwarzschild metric has an extremely simple form which can be expressed as,

ds 2 = [1 -v(r) 2 ]dt 2 -[1 -v(r) 2 ] -1 dr 2 -r 2 dΩ 2 , (1)
where v(r) = -(2GM/r) 1/2 . It happens that v(r) is also the free-falling velocity in the gravitational field. The diagonal time component (g tt ) of the metric is inversely proportional to its diagonal radial component (g rr ) [START_REF] Jacobson | When is g tt g rr = -1?[END_REF].

Because of this simple form, many attempts have been made to reconcile the metric, by invoking the reciprocity of time dilation and length contraction for a moving object with velocity v(r) [START_REF] Lenz | Electrodynamics[END_REF][START_REF] Schiff | On experimental tests of the general theory of relativity[END_REF][START_REF] Harwit | Astrophysical Concepts[END_REF][START_REF] Rowlands | A simple approach to the experimental consequences of general relativity[END_REF][START_REF] Czerniawski | The possibility of a simple derivation of the Schwarzschild metric[END_REF][START_REF] Cuzinatto | Schwarzschild and de Sitter solution from the argument by Lenz and Sommerfiled[END_REF]. These results have led to an erroneous belief that it is possible to derive the Schwarzschild metric, by insinuating the concepts of the equivalence principle, special relativity, and Newtonian gravity into the formulation, without referencing the Einstein's field equations.

The analyses carried out by Schild [START_REF] Schild | Equivalence Principle and Red-Shift Measurements[END_REF], Rindler [START_REF] Rindler | Counterexample to the Lenz-Schiff Argument[END_REF], Sacks and Ball [START_REF] Sacks | Simple derivations of the Schwarzschild metric[END_REF], Gruber [START_REF] Gruber | The impossibility of a simple derivation of the Schwarzschild metric[END_REF], and Kassner [START_REF] Kassner | Classroom reconstruction of the Schwarzschild metric[END_REF][START_REF] Kassner | A physics-first approach to the Schwarzschild metric[END_REF] have affirmed the result that there is no simple derivation of the Schwarzschild metric. It is a mere coincidence that the application of time dilation and length contraction can come up with a metric that looks like the correct one. Einstein's field equations cannot be neglected in the formulation. Although it has been vindicated repeatedly that the application of time dilation and length contraction is not sufficient to derive the Schwarzschild metric, the results that can be engendered from this approach are rather appealing. Instead of attempting to derive the Schwarzschild metric, there is another constructive way to adopt the prior application in the gravitational theory.

In ref. [START_REF] Yau | Thin shell with fictitious motions[END_REF], we have demonstrated that a spherical thin shell with fictitious radial velocity can replicate the gravitational effects of a massive spherical thin shell. The fictitious velocity is analogous to the free-falling velocity except it is applied only on the surface of a thin shell. Its hypothetical effects on time and distance measurements are adopted to define the spacetime metric on the surface of a time-like hypersurface. Analogous to introducing a fictitious force to describe gravity, we can utilize the fictitious radial velocity to replicate the gravitational effects of a thin shell. The external spacetime outside the thin shell is static and satisfies the Schwarzschild solution for a spherically symmetric mass. According to Birkhoff's theorem [START_REF] Birkhoff | Relativity and Modern Physics[END_REF][START_REF] Schmidt | The tetralogy of Birkhoff theorems[END_REF], the thin shell can be contracted to an infinitesimal radius. As long as the equivalent mass of the shell remains constant during the contraction, the spacetime geometry outside will not be affected. This thin shell with infinitesimal radius has the size of a point mass. Based on the time translational symmetry of the system, the same results can be applied to a thin shell with fictitious radial oscillations. In this paper, we show that these fictitious radial oscillations are the products of a proper time oscillator.

The paper is organized in the following manner: In Section 2, we define the basic properties of a proper time oscillator.

In Sections 3 and 4, we develop a Lorentz covariant plane wave with vibrations in time and space, which is applied to the Fourier decomposition of the proper time oscillation. In Section 5, we show that the proper time oscillator is encased by fictitious radial oscillations. In Sections 6 and 7, the properties of the fictitious radial oscillations are further elaborated. In Section 8, we investigate the spacetime geometry outside a thin shell with a finite radius that has fictitious oscillations in the radial direction. Based on Birkoff's theorem, the thin shell can be contracted to an infinitesimal radius which is the same thin shell obtained in Section 4. As summarized in the last section, the proper time oscillator has properties that can mimic a stationary point mass in general relativity.

Proper Time Oscillator

Consider a coordinate system (t, x). The coordinate time t is measured by the clock of a stationary observer O located at spatial infinity. In a Minkowski spacetime, we can synchronize all the stationary clocks with the clock of O. Instead of considering a perfectly flat spacetime, let us assume time tf , as observed at the origin of the spatial coordinates x 0 , is oscillating with angular frequency ω 0 and amplitude T0 = 1/ω 0 [START_REF] Yau | Emerged quantum field of a deterministic system with vibrations in space and time[END_REF][START_REF] Yau | Probabilistic nature of a field with time as a dynamical variable[END_REF][START_REF] Yau | Temporal vibrations in a quantized field[END_REF][START_REF] Yau | Time and Space Symmetry in a Quantum Field[END_REF], i.e. tf (t, x 0 ) = t -T0 sin(ω 0 t).

In addition, this proper time oscillator is stationary at x 0 ,

xf (t, x 0 ) = x 0 , (3)
where xf is the observed spatial location of the oscillator. Therefore, time tf observed at the origin is different from time t observed at spatial infinity. Apart from this proper time oscillator, there is no oscillation in time elsewhere.

From Eq. ( 2), the relative rate of time is,

∂ tf (t, x 0 ) ∂t = 1 -cos(ω 0 t). (4)
Not only the average of this rate of time is 1, its value is bounded between 0 and 2 which is positive. Therefore, time measured at the origin can move only forward. It cannot go back to its past. For a high-frequency oscillator, time observed at the origin will appear to travel along a time-like geodesic if the measuring clock is not sensitive enough to detect the oscillation. We shall note that the sinuating rate of time is not the result of relative motion. The proper time oscillator is stationary relative to observer O at spatial infinity.

The proper time oscillation is a part of the spacetime geometry. Outside the oscillator, the region is a vacuum spacetime.

There is no temporal vibration outside the proper time oscillator, i.e. tf (t, x) = t when x = x 0 . The temporal vibrations at and around the oscillator can be expressed as,

tf (t, x) = t - Π(x) sin(ω 0 t) ω 0 = t + ξt (t, x), (5)
where

ξt (t, x) = - Π(x) ω 0 sin(ω 0 t), (6)
and

Π(x) = 0 if |x| ≥ /2, (7) Π(x) = 1 if |x| < /2.
(8) Π(x) is a pulse with width → 0.

Lorentz Covariant Plane Wave

As a wave with vibration in time, ξt from eq. ( 6) can be decomposed into Fourier series of plane waves ξ tk = -iT k e i(k•x-ωt) , where T k is an amplitude for the temporal vibrations. However, in a relativistic theory, ξ tk can only be the 0-component of a Lorentz covariant plane wave. It is necessary to include a spatial component for the Lorentz covariant plane wave that has vibrations in space, i.e. ξ xk = -iX k e i(k•x-ωt) , where X k is an amplitude for the spatial vibrations. A Lorentz covariant plane wave shall have vibrations in both the temporal and spatial directions.

To study the vibrations that take place inside this Lorentz covariant plane wave, we will adopt a convention similar to the Lagrangian formulation in wave mechanics. Here, t d (t, x) and x d (t, x) are defined as the differences of the time measurement and spatial location from the undisturbed state labeled (t, x). In the Lagrangian formulation, x d (t, x) does not tell us the spatial displacement of an observer, which at time t has coordinate x, but rather as the displacement of an observer, which has coordinate x in the undisturbed condition. Similarly, t d (t, x) is the difference in time, measured by an observer originally from x, relative to the coordinate time t . An observer originally at x will be displaced to x f = x + x d , and measures a time t f = t + t d , instead of the time t at spatial infinity. The coordinate time t is used as a reference for measuring the temporal vibrations inside the wave.

Let us first consider a plane wave with only temporal vibrations as observed in an inertial frame O . We will define the wave's temporal amplitude T 0 as the maximum difference between time t f observed inside the wave and time t , observed outside the wave by an inertial observer. We may then write,

t f = t -T 0 sin(ω 0 t ) = t + t d = t + Re(ξ t ), (9)
x f = x , (10)
where

t d = Re(ξ t ) = -T 0 sin(ω 0 t ), (11)
ξ t = -iT 0 e -iω0t . (12)
This plane wave has no vibration in space.

The background coordinates (t , x ) of inertial frame O can be Lorentz transformed from the background coordinates (t, x) for the flat spacetime in another frame of reference O,

t = γ(t -v • x), (13)
x = γ(x -vt), (14) where
γ = (1 -|v| 2 ) -1/2 . ( 15
)
We have assumed O is traveling with a velocity v relative to O. Similarly, the displaced coordinates (t f , x f ) can be Lorentz transformed to the displaced coordinates (t f , x f ) as observed in frame O,

t f = γ(t f + v • x f ), (16)
x f = γ(x f + vt f ). (17)
Substitute Eqs. ( 9), ( 10), [START_REF] Rovelli | Quantum Gravity[END_REF], and ( 14) into Eqs. ( 16) and ( 17), the displaced coordinates (t f , x f ) are,:

t f = t + T sin(k • x -ωt) = t + t d = t + Re(ξ t ), (18)
x f = x + X sin(k • x -ωt) = x + x d = x + Re(ξ x ), ( 19
) where t d = Re(ξ t ) = T sin(k • x -ωt), (20)
x d = Re(ξ x ) = X sin(k • x -ωt), (21)
ξ t = -iT e i(k•x-ωt) , (22)
ξ x = -iXe i(k•x-ωt) , (23)
T = (ω/ω 0 )T 0 , (24)
X = (k/ω 0 )T 0 . ( 25
)
Amplitude X is the maximum displacement of the wave from its undisturbed coordinate x, and amplitude T is its maximum displacement from time t. The proper time displacement T 0 can be seen as a Lorentz transformation of a 4-displacement vector: (T 0 , 0, 0, 0) → (T, X) where T 2 = T 2 0 + |X| 2 . The amplitude of the plane wave is a 4-vector. Inside a plane wave, the temporal and spatial coordinates are displaced from the undisturbed state. We can further summarize these vibrations with a single function,

ξ = T 0 ω 0 e i(k•x-ωt) . (26)
The vibrations ξ t and ξ x from Eqs.( 22) and ( 23) can be written as:

ξ t = ∂ 0 ξ, (27)
ξ x = -∇ξ. (28)
In the rest of this paper, we will consider T 0 , T and X as complex amplitudes.

Fourier Decomposition of the Proper Time Oscillation

Let us define a function,

ξ(t, x) = Π(x) ω 2 0 cos(ω 0 t), (29)
which can be decomposed into Fourier series of plane waves ξ k from Eq. ( 26), and their complex conjugates ξ * k . Since the superposition is linear, we can also apply Eqs. ( 27) and ( 28) to obtain the corresponding vibrations in time and space ( ξt , ξx ) of the superposed function ξ, i.e. ξt = ∂ 0 ξ,

ξx = -∇ ξ. (30)
Hence, ξt from Eq. ( 6) can be obtained from Eqs. ( 29) and [START_REF] Birkhoff | Relativity and Modern Physics[END_REF],

ξt = ∂ 0 ξ = - Π(x) ω 0 sin(ω 0 t). (32)
On the other hand, Eq. ( 31) implies that there are spatial oscillations in addition to the temporal oscillation at x 0 . These additional oscillations have their origins stem from the spatial components of the Lorentz covariant plane waves. Since the system that we are considering is spherically symmetric, we can switch to a spherical coordinate system. The oscillations in space are described by ξr ,

rf (t, r) = r + ξr (t, r), (33)
where

ξr (t, r) = - ∂ ξ ∂r = - Π (r) ω 2 0 cos(ω 0 t). (34)
Π (r) denotes the derivative of Π(r) with respect to r, such that

Π (r) = 0 if r = /2, (35)
Π (r) = -∞ if r = /2. ( 36
)
Therefore, apart from the proper time oscillation at r = 0, there are oscillations in the radial direction about r = /2.

The radial oscillations about r = /2 are revealed only after we study the Fourier decomposition of the proper time oscillation.

Fictitious Radial Oscillation with Infinite Amplitude

We can summarize our results from Section 4 as follow:

At r = 0, tf (t, 0) = t -sin(ω 0 t) ω 0 , (37)

rf (t, 0) = 0. ( 38
) At r = /2 → 0, tf (t, /2) = t, (39) rf (t, /2) = /2 + ∞ cos(ω 0 t) with ∞ → ∞.
(40) The system is spherically symmetric with oscillations in the temporal and radial directions only. From Eq. (38), the proper time oscillator is stationary at the origin of the spatial coordinate, r = 0. It has no vibration in space where the oscillator is located. On the other hand, the region outside the proper time oscillator is a vacuum spacetime that is source free. There are no vibrations in this vacuum spacetime except about a thin shell with radius r = /2 → 0 as shown in Eq. (40).

Let us look at this system in more detail. As shown, the system has two oscillating components: the proper time oscillator at r = 0 and the radial oscillations about r = /2. They are simple harmonic oscillators. Based on our knowledge about simple harmonic oscillating systems, their total energy shall be conserved over time. Therefore, we expect the above system as a whole shall have a symmetry under time translation as stipulated by the Noether's theorem. 1 Besides, the spacetime outside the proper time oscillator is a vacuum. As shown in Eq. (39), a radial oscillation about r = /2 does not have oscillation in time.

Matter cannot oscillate in space with an infinite amplitude. This will violate the principles of relativity by allowing superluminal transfer of energy. From Eq. (40), the instantaneous velocity of the radial oscillation is,

vf (t, /2) = ∂ ∂t rf (t, /2) = -∞ ω 0 sin(ω 0 t), (41)
which can exceed the speed of light. Transportation of an observer by the radial oscillation through space is forbidden by the principles of relativity. The radial oscillation, therefore, cannot be interpreted as a vibration that can carry an observer through space. Instead, we shall study the effects of this radial oscillation on an observer that is stationary at r = /2.

Any effects resulted from the radial oscillations are negligible at spatial infinity where the spacetime is considered as flat. An observer O, stationary at spatial infinity, is an inertial observer which is used as the reference for our study. In a Minkowski spacetime, the clock of any stationary observer can be synchronized with the clock of O. However, this is not the case for an observer O + stationary at r = /2. As shown in Eqs. (39) and (40), it is the clock of a fictitious observer Ō oscillating about r = /2 that synchronizes with the clock of O. As discussed, this oscillation cannot have physical vibration through space since it will allow superluminal transfer of energy. We shall consider its effects at r = /2, as if O + is oscillating in a fictitious frame of Ō. In this fictitious frame, Ō is an inertial observer. An observer O + , on the shell with radius r = /2, will have an oscillation rf relative to the fictitious inertial observer Ō, i.e.

rf (t, /2) = -∞ cos(ω 0 t), (42)
vf (t, /2) = ∂ ∂tr f (t, /2) = ∞ ω 0 sin(ω 0 t), ( 43
)
where vf is the instantaneous velocity of the fictitious radial oscillation. Therefore, O + is under the constant effects of a fictitious oscillation while remaining at rest relative to O at spatial infinity. These fictitious radial oscillations are used to study the spacetime geometry outside the proper time oscillator.

Taking the thin shell with fictitious radial oscillations as a part of the spacetime geometry, its properties are different from those of the assumed flat spacetime at spatial infinity where there is no oscillation. The geometry of spacetime at these two distant locations are different. Therefore, if the spacetime manifold outside the thin shell is smooth and continuous, its structures cannot be flat. The assumption of flat spacetime, when we carry out the superposition of plane waves in the previous sections, is only locally true at the origin of the spatial coordinates.

Fictitious Radial Oscillation with Finite Amplitude

Instead of working directly with the fictitious radial oscillations about r = /2, let us first consider an infinitesimally thin spherical shell Σ with finite radius ȓ. Relative to this shell, there are fictitious radial oscillations [START_REF] Yau | Thin shell with fictitious motions[END_REF], i.e.

rf (t, ȓ) = -˘ cos(ω 0 t), (44)

vf (t, ȓ) = ∂ ∂tr f (t, ȓ) = ˘ ω 0 sin(ω 0 t), (45)
where ˘ ω 0 < 1. The properties of these fictitious radial oscillations with amplitude ˘ are analogous to those about r = /2, except the magnitude of the instantaneous velocity | vf | is now less than 1, and the amplitude of oscillation ˘ is finite. Apart from the fictitious oscillations in the radial direction, there are no other oscillations. The spacetime outside the shell is a vacuum and the system is spherically symmetric. We will further assume the system has a time translational symmetry, as expected for a simple harmonic oscillating system.

Analogous to the thin shell with infinitesimal radius, it is the clock of a fictitious observer Ō oscillating about r = ȓ that synchronizes with the clock of an observer O at spatial infinity. In its fictitious frame, Ō is an inertial observer. An observer Ȏ, stationary at r = ȓ, has a fictitious displacement rf and instantaneous velocity vf relative to Ō. Although Ȏ is stationary relative to O at spatial infinity, it is under the effects as if Ȏ is oscillating in the fictitious frame of Ō. As discussed before, the fictitious oscillation is not a vibration that carries an observer through space. Instead, their effects on time and distance measurements are used to define the metric on the surface of the thin shell Σ.

The properties of a moving observer with |v| < 1 are well defined in relativity. These properties can be applied in the fictitious frame of Ō. However, apart from the instantaneous velocity vf , Ȏ also has a displacement rf relative to the fictitious observer Ō. As a simple oscillating system, we expect both the fictitious displacement and its instantaneous velocity can have effects on Ȏ. Their combined effects shall remain constant such that the total Hamiltonian of the system is invariant over time. Although the effects of the fictitious displacement are not yet defined, we can obtain the metric induced on the thin shell Σ when there is only a fictitious velocity with | vf | < 1.

At t = t m = π/(2ω 0 ), the fictitious displacement and instantaneous velocity from Eqs. ( 44) and (45) are:

rf (t m , ȓ) = rfm = 0, (46)
and

vf (t m , ȓ) = vfm = ˘ ω 0 < 1. (47)
Ȏ is traveling with a velocity vfm in the fictitious frame with no displacement relative to Ō. To obtain the metric at r = ȓ, we need to understand how the clocks and measuring rods carried by O and Ȏ are related at the instant t = t m .

7 Measurements on the Thin Shell Σ Let us consider two events observed in frame Ȏ at the instant t = t m . The infinitesimal coordinate increments (dt, dr), observed in frame O, can be expressed in terms of the infinitesimal coordinate increments (d t, dȓ), for the same two events observed in frame Ȏ,

dt dr = Υ t t Υ t ȓ Υ r t Υ r ȓ d t dȓ . (48)
In the local frame of O, the basis vectors in the temporal and radial directions are orthogonal,

e t • e r = 0. ( 49
)
The same is true in frame Ȏ, e t • e ȓ = 0.

As discussed, Ȏ is stationary relative to O. The temporal basis vectors in frames O and Ȏ are, therefore, parallel to one another, e t e t .

Similarly, the radial basis vectors of the two frames are also parallel,

e ȓ e r . (52)
Under conditions (49), (50), ( 51) and (52), the transformation matrix Υ is diagonal , i.e.

dt dr = Υ t t 0 0 Υ r ȓ d t dȓ . (53)
To determine the element Υ t t, we will consider the infinitesimal coordinate increments (d t, dȓ = 0), where d t is a proper time measured by Ȏ. Under a Lorentz transformation, the coordinate increments (d t, d r) observed in the fictitious frame Ō are,

d t = γd t, (54)
d r = γv f m d t, (55)
and

γ = [1 -( vfm ) 2 ] -1/2 . ( 56
)
Since the clocks of O and Ō are synchronized, we have

dt = d t = γd t. (57)
Although Ȏ appears to be moving in the fictitious frame of Ō, there is no relative movement between Ȏ and O. The underlined quantity in Eq. ( 55) is a fictitious displacement that is observed only in Ō. The time interval measured by O is lengthened by the effects of the fictitious movement with respect to the measurement made by Ȏ. Based on Eqs. ( 47) and (57),

Υ t t = γ = [1 -( vfm ) 2 ] -1/2 = (1 -˘ 2 ω 2 0 ) -1/2 . ( 58
)
To determine the element Υ r ȓ , we will consider another infinitesimal coordinate increments (d t = 0, dȓ), where dȓ is the length of a rod carried by Ȏ. Under a Lorentz transformation, the coordinate increments (d t, d r) observed in the fictitious frame Ō are,

d t = γv f m dȓ, (59)
d r = γdȓ. (60)
The moving length d l of the rod as observed in fictitious frame Ō is,

d l = d r -vfm d t = γ-1 dȓ, (61)
where the underlined quantity is the distance traveled by the rod during d t. Since O and Ō are inertial observers that have their clocks synchronized, they shall measure the same length for the same rod, i.e.

dr = d l = γ-1 dȓ. (62)
On the other hand, there is no relative movement between O and Ȏ. Therefore, the underlined quantities in Eqs. ( 59) and (61) are fictitious temporal and spatial displacements that are observed only in Ō. The length of the rod measured by O is shortened by the effects of the fictitious movement with respect to the measurement made by Ȏ. Based on Eqs.

(47) and (62),

Υ r ȓ = γ-1 = [1 -( vfm ) 2 ] 1/2 = (1 -˘ 2 ω 2 0 ) 1/2 . ( 63
)
8 Schwarzschild Field

At t = t m , the relationships between the clocks and measuring rods of observers O and Ȏ are shown in Eqs. (53), ( 58) and (63). 2 Here, we will extend its implications further. As discussed, the simple harmonic oscillating system has a symmetry under time translation. The effects of the fictitious radial oscillations on Ȏ are constant over time. Under these conditions, we can define a constant

Ȋ = ω 2 0 ( rf ) 2 + ( vf ) 2 = ˘ 2 ω 2 0 , (64)
2 As discussed in the Introduction, a similar approach has been taken in refs. [START_REF] Lenz | Electrodynamics[END_REF][START_REF] Schiff | On experimental tests of the general theory of relativity[END_REF][START_REF] Harwit | Astrophysical Concepts[END_REF][START_REF] Rowlands | A simple approach to the experimental consequences of general relativity[END_REF][START_REF] Czerniawski | The possibility of a simple derivation of the Schwarzschild metric[END_REF] to obtain the Schwarzschild field, by invoking the time dilation and length contraction associated with a free-falling velocity, v(r) = -(2m/r) 1/2 . However, it has also been demonstrated that Einstein's field equations cannot be neglected in deriving this solution [START_REF] Schild | Equivalence Principle and Red-Shift Measurements[END_REF][START_REF] Rindler | Counterexample to the Lenz-Schiff Argument[END_REF][START_REF] Sacks | Simple derivations of the Schwarzschild metric[END_REF][START_REF] Gruber | The impossibility of a simple derivation of the Schwarzschild metric[END_REF][START_REF] Kassner | Classroom reconstruction of the Schwarzschild metric[END_REF]. The fictitious velocity studied here is analogous to the free-falling velocity, except we have limited its application only on the surface of a massive spherical thin shell [START_REF] Yau | Thin shell with fictitious motions[END_REF]. such that Eq. (53) becomes,

dt dr = (1 -Ȋ) -1/2 0 0 (1 -Ȋ) 1/2 d t dȓ . (65)
The first and second terms on the right-hand side of Eq, (64) are equivalent to the 'potential' and 'kinetic' components of a classical harmonic oscillating system. Their total effects are constant under time transnational symmetry.

The system is spherically symmetric with oscillations only in the radial and temporal directions. In addition, there is no rotational motion. The line element at r = ȓ for such a spherically symmetric system can be written as [START_REF] Wald | General Relativity[END_REF],

ds 2 = g tt (ȓ)dt 2 + 2g tr (ȓ)dtdr + g rr (ȓ)dr 2 -ȓ2 dΩ 2 . ( 66
)
The coordinate time t is measured by a stationary clock located infinitely far from the source as adopted in Section 2.

The radial coordinate r can be defined as the circumference, divided by 2π, of a sphere centered around the shell. The angular coordinates θ and φ are the usual polar spherical angular coordinates. This coordinate system is the same one as adopted in the conventional Schwarzschild field.

From Eq. ( 65), the basis vectors in frames O and Ȏ satisfy the following relationships,

e t = e t (1 -Ȋ) 1/2 , (67)
e ȓ = e r (1 -Ȋ) -1/2 , (
g tt (ȓ) = e t • e t = (1 -Ȋ) e t • e t = 1 -Ȋ, (72)
g rr (ȓ) = e ȓ • e ȓ = (1 -Ȋ) -1 e r • e r = -(1 -Ȋ) -1 , (73)
g tr (ȓ) = g rt (ȓ) = e t • e ȓ = e t • e r = 0.

(74)

At r = ȓ, the line element from Eq. ( 66) is reduced to,

ds 2 = [1 -Ȋ]dt 2 -[1 -Ȋ] -1 dr 2 -ȓ2 dΩ 2 . ( 75
) If we set, Ȋ = 2m ȓ , (76)
or

m = ȓ ˘ 2 ω 2 0 2 , (77)
Eq. (75) becomes the Schwarzschild line element on the surface of a thin shell with total mass m. From general relativity, the vacuum space-time υ + outside this time-like hypersurface is the Schwarzschild spacetime,

ds 2 = [1 - ȓ ˘ 2 ω 2 0 r ]dt 2 -[1 - ȓ ˘ 2 ω 2 0 r ] -1 dr 2 -r 2 dΩ 2 , (78)
which is static with time translational and time reflection symmetries.

The time-like hypersurface Σ can be contracted by 'carrying' the fictitious oscillations along geodesics orthogonal to the original surface to a new sphere Σ . According to the Birkhoff's theorem [START_REF] Birkhoff | Relativity and Modern Physics[END_REF][START_REF] Schmidt | The tetralogy of Birkhoff theorems[END_REF], the external gravitational field of the spherically symmetric vacuum region is static and satisfies the Schwarzschild solution. As long as the equivalent mass m from Eq. ( 77) is kept as a constant during the contraction, the metric and curvature of the external field will remain unaffected. Under this condition, the amplitude of the radial oscillation is,

˘ = 2 ȓm . ( 79
)
As the shell is contracted to a radius ȓ = 2m, the metric from Eq. (78) will encounter a coordinate singularity (event horizon). Although the fictitious instantaneous velocity can exceed the speed of light ( vfm > 1 when ȓ < 2m), the fictitious oscillations are not physical vibrations of matter. There is no superluminal transfer of energy by the fictitious oscillations. Only the effects of the fictitious oscillations on an observer are physical. Also, the amplitude of fictitious oscillation is well defined until the radius is contracted to ȓ = /2 → 0. 3 The shell, therefore, can be contracted even beyond a radius ȓ = 2m, as allowed by Birkhoff's theorem, while maintaining the same Schwarzschild geometry.

From Eq. (79), the amplitude of fictitious oscillation is infinitely large ( ˘ → ∞) on a thin shell with radius ȓ = /2 → 0. This thin shell with infinitesimal radius is the same one as derived from the proper time oscillator in Section 4. As a result, the spacetime geometry outside the proper time oscillator shall satisfy the Schwarzschild solution. The external spacetime geometry resulting from the proper time oscillator can, therefore, mimic the gravitational field of a point mass in general relativity.

Conclusions

In this paper, we consider the gravitational field of a proper time oscillator. By carrying out the Fourier decomposition of the proper time oscillation, we find that there are fictitious radial oscillations around the proper time oscillator. The external spacetime is curved under the effects of these fictitious radial oscillations. The resulting spacetime geometry satisfies the Schwarzschild solution and can mimic the gravitational field of a point mass in general relativity. The model establishes a direct correlation between spacetime and matter.

The criterion for a true singularity is geodesic incompleteness [START_REF] Hawking | The singularities of gravitational collapse and cosmology[END_REF][START_REF] Hawking | The Large-Scale Structure of Space-Time[END_REF]. A singularity is present when the world line of a freely falling test object cannot be extended past that point. In our model, the singularity is outside the proper time oscillator. The spacetime geometry is discontinuous at r = /2 where any causal geodesic (time-like or null) cannot be extended further. Although the singularity acts as a boundary for incoming geodesics, the spacetime structure inside this boundary is well defined. The proper time oscillator is cloistered behind the singularity of our model.

In refs.[START_REF] Yau | Emerged quantum field of a deterministic system with vibrations in space and time[END_REF][START_REF] Yau | Probabilistic nature of a field with time as a dynamical variable[END_REF][START_REF] Yau | Temporal vibrations in a quantized field[END_REF][START_REF] Yau | Time and Space Symmetry in a Quantum Field[END_REF], we show that the energy of a proper time oscillator is on shell, E = mc

. Its total energy is, therefore, conserved over time. Besides, the assumption of time translational symmetry will be falsified if we cannot obtain the Schwarzschild field solution from the proper time and radial oscillations. As we have learned from general relativity, the solution of Einstein's field equations for static spherically symmetric system is a Schwarzschild field.

The same is true for all the curvature tensors derived from the metric, which is also well defined until the radius of the shell is contracted to a radius ȓ = /2 → 0.


Adrien Benamira
email: adrien.benamira@supelec.fr

Benjamin Devillers
email: benjamin.devillers@supelec.fr

Etienne Lesot
email: etienne.lesot@supelec.fr

Ayush K Ray

Manal Saadi
email: manal.saadi@supelec.fr

Fragkiskos D Malliaros
email: fragkiskos.malliaros@centralesupelec.fr

Semi-Supervised Learning and Graph Neural Networks for Fake News Detection

Keywords: Fake news detection, Semi-supervised learning, Graph neural networks

Social networks have become the main platforms for information dissemination. Nevertheless, due to the increasing number of users, social media platforms tend to be highly vulnerable to the propagation of disinformation -making the detection of fake news a challenging task. In this work, we focus on content-based methods for detecting fake news -casting the problem to a binary text classification one (an article corresponds to either fake news or not). The main challenge here stems from the fact that the number of labeled data is limited; very few articles can be examined and annotated as fake. To this extend, we opted for semi-supervised learning approaches. In particular, our work proposes a graph-based semi-supervised fake news detection method, based on graph neural networks. The experimental results indicate that the proposed methodology achieves better performance compared to traditional classification techniques, especially when trained on limited number of labeled articles.

I. INTRODUCTION

Social media have become the main platforms for information sharing and news consumption for various reasons. Firstly, it is often a faster and cheaper way to access news on social media compared to more traditional platforms. Furthermore, commenting, sharing and discussing with other readers is an easy way to express opinions and increases the level of participation and interaction of individuals. Nevertheless, the ease with which real-time information disseminates to a large audience accompanied with the engagement of individuals to online social media platforms, has also lead to the spread of misinformation, widely known as fake news [START_REF] Shu | Fake news detection on social media: A data mining perspective[END_REF]. Fake news take advantage of the echo chambers phenomenon, amplified by social networks; people tend to follow and share mainly information they believe in or what their friends share and like. This is why social media platforms are particularly vulnerable to the propagation of fake news, mostly coming from unverified publishers and crowd-based content creators.

Triggered by the societal impact of misinformation, there is currently an intense research effort from the scientific community to develop algorithmic techniques for fake news detection. The core of these techniques relies on machine learning methods -trying to analyze and understand how the content of fake news differs from that of real ones, as well as how users engage with and propagate misinformation within social networks [START_REF] Sharma | Combating fake news: A survey on identification and mitigation techniques[END_REF], [START_REF] Zhou | Fake news: Fundamental theories, detection strategies and challenges[END_REF].

A large number of works rely on handcrafted features extracted from news content and supervised classification models [START_REF] Horne | This just in: fake news packs a lot in title, uses simpler, repetitive content in text body, more similar to satire than real news[END_REF]. Hoerne and Adali [START_REF] Horne | This just in: fake news packs a lot in title, uses simpler, repetitive content in text body, more similar to satire than real news[END_REF] identified various text characteristics that differentiate the content of fakes news from real ones. Their main findings indicate that fake news articles follow a set of specific writing rules: longer titles, more capitalized words, fewer stop words and automatic shorter body. In a more recent study, Pérez-Rosas [START_REF] Pérez-Rosas | Automatic detection of fake news[END_REF] observed that fake news articles contained more temporal words, indicating that the content of the article tends to be focused on the present and future. Nevertheless, linguistic analysis methods require hand-crafted feature extraction and cannot model more complex contextual dependencies alone. Deep learning methods alleviate the shortcomings of linguistic methods by automatic feature extraction, demonstrating significant performance in text classification. Wang [START_REF] Wang | liar, liar pants on fire": A new benchmark dataset for fake news detection[END_REF] proposed to use convolutional neural networks (CNNs) for content-based fake news detection. Other approaches include sentence and word level CNNs [START_REF] Qian | Neural user response generator: Fake news detection with collective user intelligence[END_REF] and long short-term memory (LSTM) networks [START_REF] Rashkin | Truth of varying shades: Analyzing language in fake news and political factchecking[END_REF]. Nevertheless, as a recent evaluation study has indicated [START_REF] Shu | FakeNewsNet: A data repository with news content, social context and dynamic information for studying fake news on social media[END_REF], the content-based classification accuracy achieved with CNNs is relatively low. Moreover, such approaches typically require a significant amount of labeled data which, in many cases, is hard to obtain.

In order to tackle the fact that labels are often very limited and sparse, we opt here for semi-supervised content-based detection methods. In particular, we propose a graph-based semi-supervised fake news detection framework, building upon network representation learning techniques [START_REF] Hamilton | Representation learning on graphs: Methods and applications[END_REF]. Our intuition is that, graphs are expressive models that are able to capture contextual dependencies among articles, alleviating the label scarcity constraint [START_REF] Guacho | Semi-supervised Content-based Detection of Misinformation via Tensor Embeddings[END_REF]. On a high level, our framework is composed of three components: i) embedding of articles in the Euclidean space; ii) construction of an article similarity graph; iii) inference of missing labels using graph learning techniques. The main contributions of this paper are summarized as follow:

• We use word embeddings to obtain latent representations of news articles in a lower dimensional Euclidean space. Then, we capture contextual similarities among articles via a graph-based representation scheme.

• We cast the fake news detection problem as a semisupervised graph learning task, leveraging Graph Neural Network architectures that are able to perform well on limited labeled data. • We perform a preliminary evaluation of our methodology on a real fake news dataset, demonstrating that the proposed methodology outperforms previous content-based approaches, requiring fewer labeled articles.

II. BACKGROUND CONCEPTS: GRAPH NEURAL NETWORKS AND EXTENSIONS

A. Graph Neural Networks (GNNs)

Initially, GNNs were introduced as an extension of Recurrent Neural Networks (RNNs); GNNs apply recurrent layers to each node with additional local averaging layers [START_REF] Gori | A new model for learning in graph domains[END_REF], [START_REF] Scarselli | The graph neural network model[END_REF]. The goal of GNNs is, given a feature vector X and a graph A, to find a model f predicting at each node one of

d y label classes f (X, A) = Z ∈ R I×dy , where Z ic is the estimated probability that the label at node i ∈ {1, • • • , n} is c ∈ {1, • • • , d y }.

B. Graph Convolutional Network (GCN)

Graph Convolutional Network (GCN) [START_REF] Kipf | Semi-supervised classification with graph convolutional networks[END_REF] is a special case of GNNs which stacks two layers of specific propagation and

H (1) = ReLU (P X)W (0) Z = f (X, A) = Softmax P H (1) W (1) (1)
with a choice of P = D-1/2 à D-1/2 , where à = A+I, where I is the identity matrix, D = diag( à 1) and 1 is the all ones vector. The weights are trained to minimize the cross-entropy loss over all labeled examples L:

L = - i∈L dy c=1 Y ic log(Z ic ) (2)
The problem with GCN is the fact that they are weightconsuming which is critical for semi-supervised learning where the number of labeled examples is small. Besides, there is a lack of interpretability.

C. Attention-based Graph Neural Network (AGNN)

The attention-based Graph Neural Network (AGNN) [START_REF] Thekumparampil | Attentionbased graph neural network for semi-supervised learning[END_REF] corresponds to a novel graph neural network architecture that removes all the intermediate fully-connected layers, and replaces the propagation layers with an attention mechanism which respects the structure of the graph. The attention mechanism allows to learn a dynamic and adaptive local summary of the neighbourhood, achieving more accurate predictions. In addition, the attention-based graph neural network is able to:

• Greatly reduce the model complexity, with only a single scalar parameter at each intermediate layer; • Discover dynamically and adaptively which nodes are relevant to the target node for classification.

III. PROPOSED APPROACH

A schematic representation of our approach is depicted in Figure 1. In order to use graph-based algorithms for fake news detection, we first construct a graph out of the dataset, following similar methodological ideas as in [START_REF] Guacho | Semi-supervised Content-based Detection of Misinformation via Tensor Embeddings[END_REF]. Our approach is based on the following steps: document embedding and graph inference for the representation of articles, and graph neural network architectures for classification 1 .

A. Embedding of Articles and Graph Inference

Let N = {n 1 , n 2 , n 3 , . . . , n M } be a collection of M articles, where each article is a vector that contains the words within the article. The graph G = (V, E) will be designed such that the set of nodes V will contain the articles and we will consider that an edge (v 1 , v 2 ) ∈ E connects two articles if the two articles are close enough in the embeddings space. We have also removed the most common words for the documents.

1) Embedding of articles: To define the notion of distance, we will embed an article into a vector space and use a simple Euclidean distance.

• Co-occurence matrix and CP/PARAFAC tensor decomposition [START_REF] Guacho | Semi-supervised Content-based Detection of Misinformation via Tensor Embeddings[END_REF]: we build a three-mode tensor X ∈ R I×I×M (words, words, articles), where all co-occurrence entries are boolean and indicate whether the i th and j th words appear within a predefined window at least once. We then use CP/PARAFAC tensor decomposition to factorize the tensors. A tensor is a multi-dimensional array, where each dimension represents a mode. Canonical Polyadic (CP) or PARAFAC decomposition is a tensor decomposition method, widely used that factorizes a tensor into a sum of rank one tensors. • Pre-trained GloVe word embedding: this simple method consists of considering the mean of the pre-trained GloVe word embeddings for each word [START_REF] Pennington | Glove: Global vectors for word representation[END_REF], [START_REF] Peters | Deep contextualized word representations[END_REF] to get the embedding of one article. GloVe is a model that learns geometrical encodings (vectors) of words from their co-occurrence information (i.e., how frequently they co-occur in a large text corpora). GloVe is a countbased model, meaning that it learns vector representations by doing dimensionality reduction of the co-occurrence count matrix. To obtain the vector representation of the article from the representations of the words, we have used the averaging the vectors. • Latent Dirichlet Allocation (LDA): LDA is a generative probabilistic model for collections of discrete data such as text corpora. LDA is a three-level hierarchical Bayesian model, in which each item of a collection is modeled as a finite mixture over an underlying set of topics. Each topic is, in turn, modeled as an infinite mixture over an underlying set of topic probabilities. In the context of text modeling, the topic probabilities provide an explicit representation of a document [START_REF] Blei | Latent dirichlet allocation[END_REF]. 1 Our code is available here: https://github.com/bdvllrs/ misinformation-detection-tensor-embeddings. 2) k-nearest-neighbours graph construction: After transforming the article into a vector, we can then create our graph. For each node (article) we look for the k-nearest-neighbours (k-nearest articles) using a simple Euclidean distance in the embedding space. We havel also forced the graph to be undirected. Finally, as we will present shortly, we tuned the number of neighbours k and it appears that we obtain similar results with values ranging from 1 to 10.

B. Classification

For the classification task over the similarity graph between articles, we use Graph Convolutional Networks (GCN) [START_REF] Kipf | Semi-supervised classification with graph convolutional networks[END_REF] and Attention Graph Neural Networks [START_REF] Thekumparampil | Attentionbased graph neural network for semi-supervised learning[END_REF], as presented in Sec. II.

IV. EXPERIMENTAL EVALUATION

A. Experimental Set-up

In our empirical evaluation, we have compared our graph neural network-based methods against the approach by Guacho et al. [START_REF] Guacho | Semi-supervised Content-based Detection of Misinformation via Tensor Embeddings[END_REF], which follows a similar framework. In that method, the embedding of articles is obtained using CP/PARAFAC tensor decomposition on the binary co-occurrence matrix between all articles, and the classification is performed using the Fast Belief Propagation (FaBP) algorithm [START_REF] Koutra | Unifying guilt-by-association approaches: Theorems and fast algorithms[END_REF]. We have also compared against a traditional approach, which consists of bag-of-words textual features and learning with SVMs and Random Forest classification models. For the neural graph networks, we use 4 layers, 4 neighbours, 16 hidden units, a learning rate of 0.01 and a weight decay of 5e -4. We train our graph neural networks during 1000 epochs and we keep the one which has the best accuracy on the test (unlabeled) data.

We evaluate our method on a recent dataset [START_REF] Horne | This just in: fake news packs a lot in title, uses simpler, repetitive content in text body, more similar to satire than real news[END_REF], which is comprised of 150 labeled articles, 75 of those are fake news and 75 real. We pick the labeled articles at random and average the results over 20 independent experiments. We force our training subset to be balanced. That is to say, we force the labeled subset to have half of fake news data and half of real news. We also constructed the graph for k = 1, 2, 3, 3, 4 neighbors and study the influence of k.

B. Results

Table I gives the classification accuracy of the different methods, varying the amount of labeled data used for training (ranging from 2% up to 20%). As we can observe, the proposed graph neural network approaches achieve a performance improvement of up to 3% with only 10% of the labeled data, while being more stable and reducing the standard deviation of the results. Furthermore, our AGNN and GCN methods are computationally faster when it comes to evaluate a new article. Next, we highlight some key observations from the experimental evaluation.

1) Influence of the embeddings: In Figure 2, we compare the performance of the various embedding methods. As we can observe, the GloVe embedding approach yields the best results. Moreover, the co-occurence embeddings perform quite similar to GloVe embeddings, especially for large fractions of labeled data.

2) Influence of the number of neighbours: In Table II, we examine the impact of the number of neighbors k used to build the graph. Contrary to the approach by Guacho et al. [START_REF] Guacho | Semi-supervised Content-based Detection of Misinformation via Tensor Embeddings[END_REF] where the number of neighbours heavily impacts the quality of the results, no such deviation can be observed when the classification is performed using the convolutional-based graph neural networks (GCN). This can be explained by the fact that we build the k-nearest-neighbour graph with the same information that we give to the network for classification.

V. CONCLUSION AND FURTHER WORK

In this paper, we have focused on content-based misinformation detection, aiming at classifying fake news relying solely on the content of the article -while assuming that we have a limited amount of labeled articles. The preliminary experimental results have suggested that building a simple nearestneighbour graph among articles based on word embedding similarities accompanied by graph neural networks for classification, give qualitatively good results -providing the basis for semi-supervised content-based detection methods. We are currently working to further extend our study by considering more baseline methods and testing the performance on bigger as well as multi-labeled fake news datasets.

Fig. 1 .

 1 Fig. 1. Illustration of the proposed approach: M denotes the number of articles (real and fake) and E is the dimension of our GloVe embeddings (in our case, M = 150, E = 100). Finally, we use k = 4 nearest neighbours to build the graph.

Fig. 2 .

 2 Fig.2. Impact of embedding method. Comparison of the classification accuracy based on GCN for various embedding methods, with respect to the percentage of labeled articles. Four neighbours are used to build the graph.

TABLE I CLASSIFICATION

 I ACCURACY WITH DIFFERENT RATIOS OF LABELED DATA USED FOR TRAINING WITH k = 4.

	k (number of neighbors)			Accuracy (in %)
		2 % labeled data 5 % labeled data	10 % labeled data	15 % labeled data 20 % labeled data
	k = 1	74.64 ± 5.02	79.25 ± 3.65	82.7 ± 2.82	85.00 ± 2.10	86.95 ± 2.82
	k = 2	69.00 ± 7.39	76.85 ± 4.47	82.95 ± 4.03	83.40 ± 3.23	83.94 ± 3.63
	k = 3	71.80 ± 8.58	74.90 ± 5.09	78.95 ± 3.45	82.95 ± 3.42	83.75 ± 5.13
	k = 4	72.04 ± 6.00	77.35 ± 3.72	79.85 ± 3.41	82.35 ± 2.44	84.94 ± 2.30

TABLE II ACCURACY

 II WITH k NEIGHBORS AND GCN CLASSIFICATION.